作用
指示 webpack打包后的资源bundles输出到哪里去(将编译后的文件输出到磁盘),以及如何命名
默认值
主要输出文件的默认值是 ./dist/main.js,其他生成文件默认放置在 ./dist 文件夹中。
entry是单入口的情况:
module.exports = {
// 单个入口
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
}
};
- 上面是根据 entry 是单入口的情况配置的output;
- 如果 entry 是多入口的情况还这样配置就会报错:Conflict: Multiple chunks emit assets to the same filename即多个文件资源有相同的文件名称,webpack提供了占位符来确保每一个输出的文件都有唯一个名称。
```javascript
module.exports = {
// 对象形式的入口文件
entry: {
}, output: {home: './src/index.js',
list: './src/list.js',
detail: './src/detail.js'
} };path: path.resolve(__dirname, 'dist'),
// filename: 'bundle.js'
// 多文件入口时的output
filename: '[name].bundle.js',// 这样打包出来的文件就会根据entry中键值名称
// 来生成多个不同的文件名!!!
``` 占位符如下
占位符 | 描述 |
---|---|
[name] | 模块名称 |
[hash] | 模块标识符的hash |
[chunkhash] | chunk内容的hash |
[contenthash] 或 [contenthash:8] | |
[id] | 模块标识符 |
[query] | 模块的query,例如:文件名?后面的字符串 |
一般在命名打包后的图片名称上也会用到