Как передать enpack webpack в приложение nodejs? - PullRequest
1 голос
/ 21 января 2020

Я компилирую свое nodejs приложение с помощью веб-пакета.

И я хочу передать переменную в мое приложение, скажем, версию.

поэтому после запуска этой команды:

webpack --env.VERSION=1.2.2

Я запускаю свое приложение, но на console.log({ v: process.env.VERSION });.

я получил неопределенное значение * Как передать env-пакет в nodejs приложение?

Я не могу использовать cross-env или что-то в этом роде. Я хочу скомпилировать с webpack и иметь переменные env в моем приложении.

Ответы [ 2 ]

1 голос
/ 21 января 2020

Считайте документы для флага --env ( здесь ):

Командная строка веб-пакета параметр среды --env позволяет передавать в столько переменных окружения, сколько вам нравится. Переменные среды будут доступны в вашем webpack.config.js.

Вы можете использовать плагин DefinePlugin, чтобы веб-пакет заменял строки на значения ваших переменных среды.

Например , чтобы заменить использование process.env.VERSION в коде приложения значением переменной среды, которое вы установили с помощью флага --env во время сборки:

plugins: [
  new webpack.DefinePlugin({
    "process.env.VERSION": JSON.stringify(process.env.VERSION)
  })
]
1 голос
/ 21 января 2020

Согласно документации на веб-пакете, переменная env будет доступна в вашем webpack.config.js, как это

const path = require('path');

module.exports = env => {
  // Use env.<YOUR VARIABLE> here:
  console.log('NODE_ENV: ', env.NODE_ENV); // 'local'
  console.log('Production: ', env.production); // true

  return {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist'),
    },
  };
};

См. Здесь для получения более подробной информации:

https://webpack.js.org/guides/environment-variables/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...