Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

静的アセット

最終更新 Markdown で表示Agent セットアップ

このガイドでは、静的アセットの扱いのうち、Vite プラグイン固有の点を説明します。 一般的な説明は 静的アセット を参照してください。

設定

Vite プラグインでは、アセットを有効にするために assets フィールドを書く必要はありません。代わりに、client 環境がビルドされたかどうかでアセットを含めるかを決めます。デフォルトでは、次のいずれかを満たすと client 環境がビルドされます。

vite build を実行すると、ビルド出力の一部として出力用の wrangler.json 設定ファイルが生成されます。 このファイルの assets.directory フィールドには、client のビルド出力パスが自動で入ります。 そのため、入力側の Worker 設定に assets.directory を書く必要はありません。

ただし、ルーティング設定 を指定する場合や、アセットバインディング を有効にする場合は、assets 設定を使います。 次の例は、シングルページアプリケーション向けに not_found_handling を設定し、フォールバックを常にルートの index.html にします。

{
	"assets": {
		"not_found_handling": "single-page-application"
	}
}
[assets]
not_found_handling = "single-page-application"

機能

Vite プラグインは、Vite の 静的アセット処理 の機能を、フロントエンドだけでなく Worker でも使えるようにします。 URL としてのインポート、文字列としてのインポート、public ディレクトリからのインポート、アセットのインライン化が含まれます。

URL としてインポート したアセットは、アセットバインディング で取得できます。 バインディングの fetch メソッドは完全な URL を必要とするため、リクエスト URL を base にすることを推奨します。 次の例で示します。

import myImage from "./my-image.png";

export default {
	fetch(request, env) {
		return env.ASSETS.fetch(new URL(myImage, request.url));
	},
};

Worker で URL としてインポートしたアセットは、自動でクライアントのビルド出力に移されます。 vite build を実行すると、移動したアセットのパスがコンソールに表示されます。

ヘッダーとリダイレクト

カスタムの ヘッダーリダイレクト は、_headers_redirects ファイルを public ディレクトリ に置くと、ビルド、プレビュー、デプロイ時に使えます。 これらのファイル内のパスは、クライアントのビルド出力の構造に合わせてください。 たとえば、生成されたアセットは通常 assets サブディレクトリ に置かれます。

役に立ちましたか?