我查看了许多关于“webpack中的环境变量”的SO问题,例如使用DefinePlugin:
new webpack.DefinePlugin({'ENV': JSON.stringify('staging')})
但是我实在想不出一种方法来注入在Linux Bash Shell中定义的环境变量,而不是使用硬编码的“staging”字符串。
在我的生产和测试环境中,我定义了变量,例如$ENV
和$API_KEY
,我想在我的webpack / ReactJs代码中使用它们的值。
编辑
我注意到,如果我从cli运行webpack命令:
$ ENVIRONMENT=staging
$ node_modules/.bin/webpack -p
在我的webpack.config.js文件中定义了:
new webpack.DefinePlugin({'ENV': JSON.stringify(process.env.ENVIRONMENT)})
以下内容无法正常工作(我的JS代码中未定义ENV),
但是,如果我在同一行上运行它,似乎可以正常工作 - 在webpack.config.js文件中似乎可以使用ENVIRONMENT:
$ ENVIRONMENT=staging node_modules/.bin/webpack -p
我希望能够在不将ENVIRONMENT变量与webpack命令放在同一行的情况下使其正常工作。
process.env.$ENV
? - Andrew Li