webpack中的配置(configuration)

配置(configuration)

少有 webpack 配置看起来很完全相同。这是因为 webpack 的配置文件,是导出一个对象的 JavaScript 文件。此对象,由 webpack 根据对象定义的属性进行解析。

因为 webpack 配置是标准的 Node.js CommonJS 模块,你可以做到以下事情:

1.通过 require(…) 导入其他文件

2.通过 require(…) 使用 npm 的工具函数

3.使用 JavaScript 控制流表达式,例如 ?: 操作符

4.对常用值使用常量或变量

5.编写并执行函数来生成部分配置

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

1.在使用 webpack 命令行接口(CLI)(应该编写自己的命令行接口(CLI),或使用 --env)时,访问命令行接口(CLI)参数

2.导出不确定的值(调用 webpack 两次应该产生同样的输出文件)

3.编写很长的配置(应该将配置拆分为多个文件)

基本配置

webpack.config.js

var path = require('path');

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

导出多个配置对象

作为导出一个配置对象/配置函数的替代,可能需要导出多个配置对象(从 webpack 3.1.0 开始支持导出多个函数)。当运行 webpack 时,所有的配置对象都会构建。例如,导出多个配置对象,对于针对多个构建目标(例如 AMD 和 CommonJS)打包一个 library 非常有用。

module.exports = [{
  output: {
    filename: './dist-amd.js',
    libraryTarget: 'amd'
  },
  entry: './app.js',
  mode: 'production',
}, {
  output: {
    filename: './dist-commonjs.js',
    libraryTarget: 'commonjs'
  },
  entry: './app.js',
  mode: 'production',
}]
发布了31 篇原创文章 · 获赞 110 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/liuyifeng0000/article/details/104436601