dotenv-webpack использует переменную окружения в webpack.config.js - PullRequest
1 голос
/ 18 октября 2019

Мой .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 Ответ

2 голосов
/ 18 октября 2019

Если вы хотите напрямую использовать переменные из вашего файла .env в файле webpack.config.js, имейте в виду, что при работе он ведет себя так же, как и любой другой файл javascript, поэтому вам нужно использовать dotenv упакуйте непосредственно в файл конфигурации, а не в плагин dotenv-webpack, который вставляет переменные в ваш связанный код.

То есть просто npm install dotenv и добавьте require('dotenv').config() в начало файла webpack.config.

...