我的.env
的设置如下:
SECRET_KEY=mysecretkey123
我的webpack.config.js
的设置如下:
const Dotenv = require('dotenv-webpack');
module.exports = {
...
proxy: {
'api': {
target: 'foo.bar'
headers: {'api_token': process.env.SECRET_KEY}
}
}
...
plugins: [
new Dotenv({
path: '.env',
}),
]
}
但是,当我运行我的应用程序时,出现错误消息,提示我的api令牌为undefined
我知道dotenv可以正常工作,因为我可以在应用程序本身中执行console.log(process.env.SECRET_KEY)
并查看我的密钥,但是看来这并没有在我的webpack.config.js
文件本身中暴露我的环境变量。
是否可以配置dotenv-webpack以允许在webpack.config.js
中使用环境变量?
答案 0 :(得分:2)
如果您想直接使用webpack.config.js中.env文件中的变量,请理解它在运行时的行为与其他任何javascript文件一样,因此您需要直接使用dotenv包在配置文件中,而不是dotenv-webpack插件中,该插件将变量插入捆绑的代码中。
即,只需npm install dotenv
,然后将require('dotenv').config()
添加到webpack.config文件的顶部。