結論、astro.config.mjsに以下のように書けばプロジェクトルートを基準としたパスでコンポーネントをimportできます。
import { defineConfig } from 'astro/config';
import { fileURLToPath } from 'url';
import path, { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
// https://astro.build/config
export default defineConfig({
vite: {
resolve: {
alias: {
'@/': `${path.resolve(__dirname, 'src')}/`
}
}
});
コンポーネントをimportする時は下記のように記述します。
---
import MyCompornent from '@/components/MyCompornent.astro'
---
<div>
<MyCompornent />
</div>