配置(Configuration)

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

因为配置是标准的 Node.js CommonJS 模块,所以你可以执行以下操作:

  • 通过 require(...) 导入其他文件
  • 通过 require(...) 使用 npm 的工具函数
  • 使用 JavaScript 控制流表达式,例如 ?: 操作符
  • 对常用值使用常量或变量
  • 编写和执行函数来生成部分配置

在适当时使用这些特性。

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

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

这份文档最想告诉你的一点,就是你的 webpack 配置,可以有很多种的格式和风格。但为了你和你的团队易于理解和维护,应始终采取统一的用法、格式和风格。

以下示例描述了 webpack 的配置对象如何既具有表现力,又具有可配置性,因为配置对象即是代码:

##简单的配置

webpack.config.js

var path = require('path');

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

##多个 Target

查看:导出多个配置

##使用其它配置语言

webpack 接受以多种编程和数据语言来编写配置文件。

查看:配置语言