私はVueとwebpackを使用しており、本番環境または開発用にビルドするようにwebpackに指示する環境変数を使用しています。
これは機能しています:
NODE_ENV=production webpack
console.log(process.env)
ただし、 このドキュメントで説明されています 本番モードまたは開発モードに応じて異なる.env
ファイルを使用して、アプリの変数を変更できます。
。envファイル
VUE_APP_ROOT=http://localhost:8000/
VUE_APP_BASE_URL=http://localhost:8000/api/
。env.prodファイル
VUE_APP_ROOT=http://realaddress/
VUE_APP_BASE_URL=http://realaddress/api/
しかし、これらの.envファイルにアクセスする方法がわかりませんか?どうやらこれはvue-cli
を使用すると機能しますが、私のアプリではこれは未定義のログになります。
console.log("environment variables")
console.log(process.env.VUE_APP_ROOT)
console.log(process.env.VUE_APP_BASE_URL)
.env
を使用せずに、本番モードに応じて異なるvue-cli
ファイルにアクセスするにはどうすればよいですか?
dotenv プラグインを使用できます。
// webpack.config.js
const Dotenv = require('dotenv-webpack');
module.exports = {
...
plugins: [
new Dotenv()
]
...
};
環境に基づいてファイルをロードするには、process.env.NODE_ENV
を活用できます。
// webpack.config.js
const Dotenv = require('dotenv-webpack');
const env = process.env.NODE_ENV;
module.exports = {
...
plugins: [
new Dotenv({
path: `./.env.${env === "production" ? "prd" : "dev"}`,
})
]
...
};
これでvue-cliが同様のことをしているのを見ることができます repo