在webpack 4中获取可变模式开发或生产

时间:2018-03-15 06:44:55

标签: webpack webpack-4

我正在使用Webpack 4,我想在config中使用env环境变量。我如何通过模式 - 开发和 - 生产获得这个变量? DefinePlugin不起作用,文档没有说什么。

2 个答案:

答案 0 :(得分:1)

也许你可以这样做:

<强>的package.json

"scripts": {
  "dev": "webpack-dev-server --config webpack.config.js --env.NODE_ENV=development",
  "build": "webpack --config webpack.config.js --env.NODE_ENV=production"
},

<强> webpack.config.js

module.exports = (env) => {
  return {
    mode: env.NODE_ENV,
    // ...rest of config based on environment
  };
};

more on passing environmental variables to config.

答案 1 :(得分:1)

OP正在询问webpack4。在webpack4中,可以使用--mode参数自动在webpack配置中设置mode

如何在webpack配置中使用mode

mode传递给webpack-cli的示例方式:

"scripts": {
  "start:dev": "webpack --mode development --watch"
}

在webpack配置中,您可以使用第二个参数argv来访问参数:

module.exports = (env, argv) => ({
...
   watch: argv.mode !== 'production',
...
})