1

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ファイルで定義されています)

4

2 に答える 2