.env
.gitignore
ファイルに追加する必要があります。開発、ビルド、生成時
Nuxt CLIは、開発モード、およびnuxi build
およびnuxi generate
を実行する際に、組み込みのdotenvをサポートしています。
プロセス環境変数に加えて、プロジェクトのルートディレクトリに.env
ファイルがある場合、それは開発時、ビルド時、および生成時に自動的にロードされます。そこに設定された環境変数は、nuxt.config
ファイルとモジュール内でアクセスできるようになります。
MY_ENV_VARIABLE=hello
.env
から変数を削除したり、.env
ファイルを完全に削除したりしても、すでに設定されている値はunsetされないことに注意してください。カスタムファイル
.env.local
や.env.production
など、別のファイルを使用したい場合は、nuxi
を使用する際に--dotenv
フラグを渡すことでそれを行うことができます。
npx nuxi dev --dotenv .env.local
開発モードで.env
を更新すると、Nuxtインスタンスが自動的に再起動され、新しい値がprocess.env
に適用されます。
本番環境
サーバーがビルドされた後、サーバーを実行するときに環境変数を設定する責任があります。
この時点では、.env
ファイルは読み込まれません。これを行う方法は環境ごとに異なります。
この設計上の決定は、サーバーレスプラットフォームやCloudflare Workersのようなエッジネットワークなど、従来型のファイルシステムが利用できない可能性のあるさまざまなデプロイ環境間で互換性を確保するために行われました。
.env
ファイルは本番環境では使用されないため、ホスティング環境が提供するツールと方法を使用して環境変数を明示的に設定する必要があります。一般的なアプローチをいくつか示します。
- ターミナルを使用して、環境変数を引数として渡すことができます
$ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
.bashrc
または.profile
のようなシェル設定ファイルに環境変数を設定できます。- Vercel、Netlify、AWSなどの多くのクラウドサービスプロバイダーは、ダッシュボード、CLIツール、または構成ファイルを介して環境変数を設定するためのインターフェースを提供しています。
本番環境のプレビュー
ローカル本番環境のプレビューのためには、nuxi preview
を使用することをお勧めします。このコマンドを使用すると、便宜上.env
ファイルがprocess.env
にロードされるためです。このコマンドを使用するには、パッケージディレクトリに依存関係がインストールされている必要があることに注意してください。
または、ターミナルを使用して、環境変数を引数として渡すこともできます。たとえば、LinuxまたはmacOSでは
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
完全に静的なサイトの場合、プロジェクトがプリレンダリングされた後でランタイム構成を設定することはできないことに注意してください。