インテグレーションを追加する
Astroインテグレーションにより、わずか数行のコードでプロジェクトに新しい機能や挙動を追加できます。自分でカスタムインテグレーションを書いたり、公式のインテグレーションを利用したり、コミュニティによって作られたインテグレーションを利用できます。
インテグレーションにより…
- React、Vue、Svelte、Solidなどの一般的なUIフレームワークを使用できます。
- TailwindやPartytownのようなツールを数行のコードで組み込めます。
- サイトマップの自動生成など、プロジェクトに新機能を追加できます。
- ビルドプロセスや開発サーバーなどにフックするカスタムコードを書けます。
インテグレーションディレクトリで、何百もの公式・コミュニティ製のインテグレーションを検索・閲覧できます。認証、アナリティクス、パフォーマンス、SEO、アクセシビリティ、UI、開発者ツールなど、Astroプロジェクトに追加すべきパッケージを見つけてください。
公式インテグレーション
セクションタイトル: 公式インテグレーションUIフレームワーク
SSRアダプター
その他
インテグレーションの自動セットアップ
セクションタイトル: インテグレーションの自動セットアップAstroには、公式インテグレーションのセットアップを自動化するためのastro add
コマンドが含まれています。一部のコミュニティプラグインもこのコマンドを使用して追加できます。astro add
がサポートされているかどうか、あるいは手動でインストールする必要があるかどうかは、各インテグレーションのドキュメントを確認してください。
好みのパッケージマネージャーを使用してastro add
コマンドを実行すると、インテグレーション用の自動ウィザードが設定ファイルの更新と必要な依存関係のインストールを行います。
npx astro add react
pnpm astro add react
yarn astro add react
複数のインテグレーションを同時に追加することも可能です。
npx astro add react tailwind partytown
pnpm astro add react tailwind partytown
yarn astro add react tailwind partytown
インテグレーションの追加後にCannot find package '[package-name]'
のような警告が表示された場合、パッケージマネージャーがpeer dependenciesをインストールできていないかもしれません。こうした足りないパッケージをインストールするには、npm install [package-name]
を実行してください。
手動インストール
セクションタイトル: 手動インストールAstroインテグレーションは、常にastro.config.mjs
ファイルのintegrations
プロパティを通じて追加します。
Astroプロジェクトにインテグレーションをインポートするには、3つの主要な方法があります。
-
プロジェクト内のローカルファイルから独自のインテグレーションをインポートする。
-
インテグレーションを設定ファイルに直接インラインで記述する。
astro.config.mjs import { defineConfig } from 'astro/config';import installedIntegration from '@astrojs/vue';import localIntegration from './my-integration.js';export default defineConfig({integrations: [// 1. インストール済みのnpmパッケージからインポートinstalledIntegration(),// 2. ローカルのJSファイルからインポートlocalIntegration(),// 3. インラインオブジェクト{name: 'namespace:id', hooks: { /* ... */ }},]});
インテグレーションAPIのリファレンスで、インテグレーションを書くための様々な方法について参照してください。
npmパッケージのインストール
セクションタイトル: npmパッケージのインストールパッケージマネージャーを使用してnpmパッケージのインテグレーションをインストールし、astro.config.mjs
を手動で更新します。
たとえば、@astrojs/sitemap
インテグレーションをインストールするには以下のようにします。
-
好みのパッケージマネージャーを使用してプロジェクトの依存関係にインテグレーションをインストールします。
Terminal window npm install @astrojs/sitemapTerminal window pnpm add @astrojs/sitemapTerminal window yarn add @astrojs/sitemap -
astro.config.mjs
にインテグレーションをインポートし、設定オプションとともにintegrations[]
配列に追加します。astro.config.mjs import { defineConfig } from 'astro/config';import sitemap from '@astrojs/sitemap';export default defineConfig({// ...integrations: [sitemap()],// ...});インテグレーションごとに設定方法は異なる可能性があるため、各インテグレーションのドキュメントを読み、使用するインテグレーションの設定オプションを必要に応じて
astro.config.mjs
で適用してください。
カスタムオプション
セクションタイトル: カスタムオプションインテグレーションは、ほとんどの場合は実際のインテグレーションオブジェクトを返すファクトリ関数として定義されます。これにより、ファクトリ関数に引数やオプションを渡して、プロジェクト用にインテグレーションをカスタマイズできます。
integrations: [ // 関数の引数によりインテグレーションをカスタマイズする例 sitemap({filter: true})]
インテグレーションの切り替え
セクションタイトル: インテグレーションの切り替えFalsyなインテグレーションは無視されるため、undefined
や真偽値が設定されてしまうことを気にすることなく、インテグレーションのオンとオフを切り替えられます。
integrations: [ // サイトマップのビルドをWindowsではスキップする例 process.platform !== 'win32' && sitemap()]
インテグレーションをアップグレードする
セクションタイトル: インテグレーションをアップグレードする公式インテグレーションを一括でアップグレードするには、@astrojs/upgrade
コマンドを実行します。これにより、Astroとすべての公式インテグレーションが最新バージョンにアップグレードされます。
自動アップグレード
セクションタイトル: 自動アップグレード# Astroと公式インテグレーションを一括で最新にアップグレードするnpx @astrojs/upgrade
# Astroと公式インテグレーションを一括で最新にアップグレードするpnpm dlx @astrojs/upgrade
# Astroと公式インテグレーションを一括で最新にアップグレードするyarn dlx @astrojs/upgrade
手動アップグレード
セクションタイトル: 手動アップグレード1つ以上のインテグレーションを手動アップグレードするには、パッケージマネージャーの適切なコマンドを使用します。
# ReactとTailwindのインテグレーションをアップグレードする例npm install @astrojs/react@latest @astrojs/tailwind@latest
# ReactとTailwindのインテグレーションをアップグレードする例pnpm add @astrojs/react@latest @astrojs/tailwind@latest
# ReactとTailwindのインテグレーションをアップグレードする例yarn add @astrojs/react@latest @astrojs/tailwind@latest
インテグレーションを削除する
セクションタイトル: インテグレーションを削除するインテグレーションを削除するには、まずプロジェクトからインテグレーションをアンインストールします。
npm uninstall @astrojs/react
pnpm remove @astrojs/react
yarn remove @astrojs/react
続いて、astro.config.*
ファイルからインテグレーションを削除します。
import { defineConfig } from 'astro/config';
import react from '@astrojs/react';
export default defineConfig({ integrations: [ react() ]});
他のインテグレーションを見つける
セクションタイトル: 他のインテグレーションを見つけるAstroインテグレーションのリストには、コミュニティによって開発された多くのインテグレーションが掲載されています。詳細な使い方や設定方法については、上のリンクをたどってみてください。
独自のインテグレーションを作成する
セクションタイトル: 独自のインテグレーションを作成するAstroのインテグレーションAPIはRollupとViteに影響を受けており、RollupやViteのプラグインを書いたことがある人なら誰でも親しみやすいように設計されています。
インテグレーションAPIリファレンスを確認し、インテグレーションができること、自分で作成する方法について学んでみてください。
Recipes