【Web前端问题】webpack的MiniCssExtractPlugin中, chunkFilename: "[id].css"究竟在哪里体现?
如图所示,32行的chunkFilename: "[id].css"
其中[id].css的id究竟是显示在哪里呢?谢谢
回答:
mini-css-extract-plugin
的options
和webpack的outputs
一致。具体可参考下面例子:
如你定义了下面的入口:
entry: { A: './moduleA.js',
B: './moduleB.js',
C: './moduleC.js',
}
输出定义是下面的样子:
output: { filename: '[name].js'
}
由于name
就是app
,所以会输出一个app.js
而chunkFilename
的值[id].js
就是告诉webapck如何处理非entry
模块。
entry
中的模块既可以使用name
,也可以使用id
,而非entry
的只能使用id
,默认的chunkFilname
就是[id].css
,可以不设置。
如果你将output
的filename: '[name].js'
改为filename: '[id].js
,可以看到类似下面的输出:
Hash: f0856d7819896631db4bVersion: webpack 4.28.4
Time: 3391ms
Built at: 2019-01-15 18:03:59
Asset Size Chunks Chunk Names
0.js 383 bytes 0 [emitted] commons
0.js.map 196 bytes 0 [emitted] commons
1.js 189 bytes 1 [emitted] vendor
1.js.map 857 bytes 1 [emitted] vendor
2.js 1.54 KiB 2 [emitted] A
2.js.map 5.31 KiB 2 [emitted] A
3.js 1.55 KiB 3 [emitted] B
3.js.map 5.3 KiB 3 [emitted] B
4.js 1.58 KiB 4 [emitted] C
4.js.map 5.31 KiB 4 [emitted] C
commons.css 60 bytes 0 [emitted] commons
commons.css.map 150 bytes [emitted]
index.html 321 bytes [emitted]
其中,Chunk Names
这一列下的A, B, C
对应entry
的A, B, C
,而Asset
列文件名带的数字,刚好是chunks
列的值,所以chunks
列的数值就是id。
以上是 【Web前端问题】webpack的MiniCssExtractPlugin中, chunkFilename: "[id].css"究竟在哪里体现? 的全部内容, 来源链接: utcz.com/a/140225.html