dotenv-webpack在webpack.config.js中使用环境变量

时间:2019-10-17 21:57:52

标签: webpack dotenv

我的.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中使用环境变量?

1 个答案:

答案 0 :(得分:2)

如果您想直接使用webpack.config.js中.env文件中的变量,请理解它在运行时的行为与其他任何javascript文件一样,因此您需要直接使用dotenv包在配置文件中,而不是dotenv-webpack插件中,该插件将变量插入捆绑的代码中。

即,只需npm install dotenv,然后将require('dotenv').config()添加到webpack.config文件的顶部。