nodejs プロジェクトの場合
- 次を
index.js
含むファイルがあります
const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '/.env') });
console.log(process.env.ENVIRONMENT_VARIABLE);
- そして
.env
、次を含むファイルがあります
ENVIRONMENT_VARIABLE=a
...and more environment variables
- そして、bashに行き、次のコマンドを実行します
export ENVIRONMENT_VARIABLE=b && node ./index.js
ENVIRONMENT_VARIABLE
アプリを実行した後に取得する 値はb
(bashで定義されています)
しかし、webpack プロジェクトで
- 次を
index.js
含むファイルがあります
console.log(process.env.ENVIRONMENT_VARIABLE);
- そして
.env
、前のものと同じファイルがあります(nodejsプロジェクトにあります) - そして、私のwebpack構成は次のとおりです
const path = require('path');
const webpack = require('webpack');
const dotenv = require('dotenv').config({ path: path.join(__dirname, '/.env') });
module.exports = {
...
entry: path.join(__dirname, '/index.js'),
...
plugins: [
...
new webpack.DefinePlugin({
'process.env': JSON.stringify(dotenv.parsed)
}),
...
],
...
};
- そして、bashに行き、次のコマンドを実行します
export ENVIRONMENT_VARIABLE=b && yarn start
ENVIRONMENT_VARIABLE
アプリを実行した後に取得する 値はa
(.env
ファイルで定義されている)b
(bashで定義されている)ではありません
しかし、
ENVIRONMENT_VARIABLE
私が取得したい値はb
(bashで定義されている)a
(.env
ファイルで定義されている)ではありません。そしてENVIRONMENT_VARIABLE
、bashまたはシステムで定義されていない場合、取得したい値はa
(.env
ファイルで定義されています)