配置

您可能已经注意到,很少有 webpack 配置看起来完全相同。这是因为 **webpack 的配置文件是一个 JavaScript 文件,它导出一个 webpack 配置。** 此配置随后将根据其定义的属性由 webpack 处理。

因为它是一个标准的 Node.js CommonJS 模块,所以您可以 **执行以下操作**

  • 通过 require(...) 导入其他文件
  • 通过 require(...) 使用 npm 上的实用程序
  • 使用 JavaScript 控制流表达式,例如 ?: 运算符
  • 为常用值使用常量或变量
  • 编写和执行函数以生成配置的一部分

在适当的时候使用这些功能。

虽然这些在技术上是可行的,但 **应避免以下做法**

  • 访问 CLI 参数,当使用 webpack CLI 时(而是编写您自己的 CLI,或 使用 --env
  • 导出非确定性值(调用 webpack 两次应该生成相同的输出文件)
  • 编写冗长的配置(而是将配置拆分为多个文件)

以下示例描述了 webpack 的配置如何既具有表现力又可配置,因为它 **是代码**

入门配置

webpack.config.js

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './foo.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'foo.bundle.js',
  },
};

参见配置部分,了解所有支持的配置选项

多个目标

除了将单个配置导出为对象、函数Promise 之外,您还可以导出多个配置。

参见导出多个配置

使用其他配置语言

Webpack 接受用多种编程和数据语言编写的配置文件。

参见配置语言

4 位贡献者

TheLarkInnsimon04EugeneHlushkobyzyk