webpack - Webpack v4 - optimization.splitChunk 名称不正确
问题描述
我正在将 webpack 从 v3 迁移到 v4,并且对新CommonsChunkPlugin
格式有一些问题。
当前mode
设置为development
all 时工作正常,输出:
vendor.js
, shared.js
, default.js
, 0.js
, 1.js
, 等等等等。
但是,何时mode
设置为production
并且shared.js
捆绑vendor.js
包以数字命名,这意味着我不能再将它们包含在页面上。这些块用于遵循我需要的filename
属性,output
因为出于架构原因,哈希是由另一个步骤提供的。
我的配置如下:
...
output: {
filename: !RELEASE ? '[name].js' : '[name].js',
chunkFilename: !RELEASE ? '[id].js' : '[id]-[chunkhash:8].js',
jsonpFunction: '__LIB__',
publicPath: '/content/dist/'
}
...
splitChunks: {
name: true,
chunks: 'async',
cacheGroups: {
default: false,
commons: {
chunks: 'initial',
name: 'shared',
minChunks: 2,
maxInitialRequests: 5,
minSize: 0
},
vendor: {
test: /[\\/]node_modules[\\/]/,
name: 'vendor',
enforce: true,
chunks: 'all',
minChunks: 1
}
}
}
谢谢
解决方案
使用此插件找到了解决方案: https ://www.npmjs.com/package/webpack-chunk-rename-plugin
为某些块提供单独的命名规则,在我的例子中shared.js
和vendor.js
:
plugins: [
new ChunkRenamePlugin({
vendor: '[name].js',
shared: '[name].js'
}),
]
推荐阅读
- r - 在 R 中创建具有对数刻度的条形图
- flutter - Flutter 应用在 Google Play 上发布时的 TrustManager 漏洞
- node.js - reactjs / webpack错误无法解析napi模块
- debian - Google Coral - 离线更新操作系统
- r - 如何解决 ggplot2 错误“FUN 中的错误(X[[i]],...):找不到对象'melanoma.hx'”
- c# - 使用 Vue 和 ASP.NET Core DTO 模型的 JSON Oject 的 JSON 序列化问题
- javascript - 如何让我的函数处理多个字符串数组?
- javascript - 通过提供的对象在 Javascript 数组中查找对象的索引
- android - Arduino Nano 33 BLE 是否可以使用自定义有效负载进行广告宣传?
- apache-kafka - 有没有办法将变压器添加到 Kafka Strimzi MirrorMaker2?