Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
webpack.config.js中的dotenv webpack使用环境变量_Webpack_Dotenv - Fatal编程技术网

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!我很笨。谢谢你。我现在可以睡觉了。