在我的Webpack 4配置中,我有两个条目,每个条目都是具有不同供应商和依赖关系的单独堆栈。我正在使用optimization.splitChunks
将供应商划分为单独的模块。问题在于,编译两个条目时创建的供应商文件的名称是相同的,因此文件最终会相互覆盖:
// output from webpack run
Entrypoint main = vendor.js main.css main.js
Entrypoint cms = vendor.js cms.css cms.js
这是我的webpack配置的相关部分:
// webpack.js
entry: {
main: './src/main/main.js',
cms: './src/cms/cms.js'
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'public', 'assets')
},
optimization: {
splitChunks: {
cacheGroups: {
vendors: {
priority: -10,
test: /[\\/]node_modules[\\/]/,
name: 'vendor',
chunks: 'initial'
}
},
chunks: 'async',
minChunks: 1,
minSize: 30000,
name: true
}
}
理想情况下,它会输出类似vendor.main.js
和vendor.cms.js
之类的内容。问题出在name
中的optimization.splitChunks
中,而在那里无法使用[name]
。
有什么想法吗?