urlImports
URL インポートは実験的な機能で、外部サーバーから直接モジュールをインポートできます(ローカルディスクからではなく)。
警告: 信頼できるドメインのみを使用して、マシン上でダウンロードおよび実行してください。この機能が安定版としてマークされるまでは、慎重に判断し注意を払ってください。
この機能を有効にするには、next.config.js
内で許可する URL プレフィックスを追加します:
その後、URL から直接モジュールをインポートできます:
URL インポートは、通常のパッケージインポートが使用できる場所であればどこでも使用できます。
セキュリティモデル
この機能はセキュリティを最優先に設計されています。まず、URL インポートを受け入れるドメインを明示的に許可する実験的なフラグを追加しました。さらに、Edge Runtime を使用してブラウザのサンドボックス内でのみ URL インポートを実行できるように制限する取り組みを行っています。
ロックファイル
URL インポートを使用する場合、Next.js はロックファイルと取得したアセットを含む next.lock
ディレクトリを作成します。
このディレクトリは Git にコミットする必要があり、.gitignore
で無視してはいけません。
next dev
を実行すると、Next.js は新しく検出された URL インポートをダウンロードしてロックファイルに追加します。next build
を実行すると、Next.js はロックファイルのみを使用して本番用アプリケーションをビルドします。
通常、ネットワークリクエストは不要で、古いロックファイルがあるとビルドが失敗します。
例外は Cache-Control: no-cache
で応答するリソースです。
これらのリソースはロックファイルに no-cache
エントリがあり、ビルドごとに常にネットワークから取得されます。