インテグレーションを追加する
Astroインテグレーションにより、わずか数行のコードでプロジェクトに新しい機能や挙動を追加できます。自分でカスタムインテグレーションを書いたり、公式のインテグレーションを利用したり、コミュニティによって作られたインテグレーションを利用できます。
インテグレーションにより…
- React、Vue、Svelte、Solidなどの一般的なUIフレームワークを使用できます。
- TailwindやPartytownのようなツールを数行のコードで組み込めます。
- サイトマップの自動生成など、プロジェクトに新機能を追加できます。
- ビルドプロセスや開発サーバーなどにフックするカスタムコードを書けます。
公式インテグレーション
セクションタイトル: 公式インテグレーションUIフレームワーク
SSRアダプター
その他
インテグレーションの自動セットアップ
セクションタイトル: インテグレーションの自動セットアップAstroには、インテグレーションのセットアップを自動化するための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つの主要な方法があります。
-
npmパッケージのインテグレーションをインストールする。
-
プロジェクト内のローカルファイルから独自のインテグレーションをインポートする。
-
インテグレーションを設定ファイルに直接インラインで記述する。
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 (EN)のリファレンスで、インテグレーションを書くための様々な方法について参照してください。
カスタムオプション
セクションタイトル: カスタムオプションインテグレーションは、ほとんどの場合は実際のインテグレーションオブジェクトを返すファクトリ関数として定義されます。これにより、ファクトリ関数に引数やオプションを渡して、プロジェクト用にインテグレーションをカスタマイズできます。
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 uninstall @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 (EN)リファレンスを確認し、インテグレーションができること、自分で作成する方法について学んでみてください。
Recipes