配置

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

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

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

请在适当的时候使用这些特性。

虽然它们在技术上可行,但应避免以下做法

  • 在使用 webpack CLI 时访问 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