webpack.config.js中的dotenv webpack使用环境变量
我的webpack.config.js中的dotenv webpack使用环境变量,webpack,dotenv,Webpack,Dotenv,我的.env设置如下: SECRET_KEY=mysecretkey123 const Dotenv = require('dotenv-webpack'); module.exports = { ... proxy: { 'api': { target: 'foo.bar' headers: {'api_token': process.env.SECRET_KEY} } } ... plugins: [ new Dotenv({ path: '.env
.env
设置如下:
SECRET_KEY=mysecretkey123
const Dotenv = require('dotenv-webpack');
module.exports = {
...
proxy: {
'api': {
target: 'foo.bar'
headers: {'api_token': process.env.SECRET_KEY}
}
}
...
plugins: [
new Dotenv({
path: '.env',
}),
]
}
我的webpack.config.js
设置如下:
SECRET_KEY=mysecretkey123
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令牌是未定义的
我知道dotenv工作正常,因为在我的应用程序本身中,我可以执行console.log(process.env.SECRET\u KEY)
并查看我的密钥,但这似乎不会暴露我的webpack.config.js
文件本身中的环境变量
是否有方法配置dotenv webpack以允许在
webpack.config.js
中使用环境变量?如果您想直接使用webpack.config.js中.env文件中的变量,请了解它在运行时的行为与任何其他javascript文件一样,因此,您需要直接在配置文件中使用该包,而不是dotenv webpack插件,该插件将变量插入捆绑代码中
也就是说,只需
npm安装dotenv
并将require('dotenv').config()
添加到webpack.config文件的顶部。D'oh!我很笨。谢谢你。我现在可以睡觉了。