ブログ
2023.02.19

Astroでプロジェクトルートを基準にコンポーネントなどのパスを記述する方法

Astro公式だと「../」のような相対パスでコンポーネントをimportする方法が記載されていますが、プロジェクトルートを基準にしたパスでコンポーネントをimportする方法を記載します。

結論、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>

ブログの執筆者

toshiya
workTechnical Director
フロントエンドクラブの代表です。広告業界でテクニカルディレクターをしてます。プログラミングとプランニングがちょっとできます。広告とサッカーが好きです。

その他の記事

  1. 2023.09.22
    新興のJavaScriptフレームワークNueとは?公式サイトざっくりまとめ
  2. 2023.09.20
    テクニカルディレクターとは?現役テクニカルディレクターが解説
  3. 2023.09.16
    netlify formで送信後に404になる
  4. 2023.03.27
    GitHubにRSA SSHでgit push、git fetch、git pullをしようとするとエラーになる問題の解決方法
  5. 2023.02.25
    Astroでサブフォルダにbuildする方法
  6. 2023.02.19
    Astroでstylusファイルからglobalスタイルをimportする方法
  7. 2023.02.12
    「web制作におけるパスの書き方」絶対パス・ルート相対パス・相対パスの違いについて
  8. 2023.01.09
    フロントエンドクラブの新しい企みについて
  9. 2023.01.07
    Nuxt3でgenerate時にsitemapを動的に作る方法
  10. 2022.12.30
    なぜフロントエンドエンジニア向けコミュニティ「フロントエンドクラブ」を始めたのか
  11. 2022.12.28
    よく使うGitコマンド
  12. 2022.11.04
    HeadlessCMSを使った3つのサイト構築手法
  13. 2022.11.22
    WEB制作会社でエンジニアとして働くために必要なスキルについて
  14. 2022.10.27
    現役エンジニアから見るリアルなHeadlessCMS
一覧へ戻る