知海

Mode 配置

webpackjsorg-main配置参考

Mode 配置

提供 mode 配置选项可以告诉 webpack 相应地使用其内置优化。

string = 'production': 'none' | 'development' | 'production'

用法

在配置中提供 mode 选项:

js 复制代码
export default {
  mode: "development",
};

或将其作为 CLI 参数传入:

bash 复制代码
webpack --mode=development

支持以下字符串值:

选项 说明
development DefinePlugin 上将 process.env.NODE_ENV 设置为 development。为模块和 chunk 启用有用的名称。
production DefinePlugin 上将 process.env.NODE_ENV 设置为 production。为模块和 chunk 启用确定性的混淆名称,并启用 FlagDependencyUsagePluginFlagIncludedChunksPluginModuleConcatenationPluginNoEmitOnErrorsPluginMinimizerPlugin
none 不使用任何默认优化选项

如果未设置,webpack 会将 production 作为 mode 的默认值。

提示: 如果未通过配置或 CLI 提供 mode,CLI 将使用任何有效的 NODE_ENV 值作为 mode

Mode: development

js 复制代码
// webpack.development.config.js
export default {
  mode: "development",
};

Mode: production

js 复制代码
// webpack.production.config.js
export default {
  mode: "production",
};

Mode: none

js 复制代码
// webpack.custom.config.js
export default {
  mode: "none",
};

如果你希望根据 webpack.config.js 中的 mode 变量来改变行为,则需要导出一个函数而不是一个对象:

js 复制代码
const config = {
  entry: "./app.js",
  // ...
};

export default (env, argv) => {
  if (argv.mode === "development") {
    config.devtool = "source-map";
  }

  if (argv.mode === "production") {
    // ...
  }

  return config;
};

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。