我创建了一个简单的github repo来重现我的场景。
我有两个配置文件:dev.vue.config.js和prod.vue.config.js,它们的使用取决于NODE_ENV值
对于prod,我的webpack入口点设置为
configureWebpack: {
entry: {
activitySubmit: './src/as-setup.js'
}
}
我还使用SplitChunks插件将node_modules捆绑到vendors.js中,因此我希望webpack生成两个文件:activitySubmit.js和vendors.js
然而,我也得到了第三个文件app.js,其中包含src/main.jsain.js导入任何内容,那么为什么它会被捆绑呢?我不需要它。
现在,如果我将入口点更改为
configureWebpack: {
entry: {
app: './src/as-setup.js'
}
}
我得到两个文件:app.js和vendor.js
如果我检查app.js,我可以看到它现在不包含src/main.js中的代码(正如预期的那样(。我很困惑,请帮助解释的逻辑
这个问题在Vue论坛上得到了回答,所以我也在这里发布了答案
运行
vue inspect --mode production
将显示Vue CLI正在生成的Webpack配置。结果是:
entry: {
app: [
'./src/main.js'
],
activitySubmit: './src/as-setup.js'
}
因为正如vue文档中所解释的,您在configureWebpack中提供的配置是使用webpack合并的,所以默认条目仍然存在。