为什么webpack捆绑额外的文件



我创建了一个简单的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.jsvendors.js

然而,我也得到了第三个文件app.js,其中包含src/main.jsain.js导入任何内容,那么为什么它会被捆绑呢?我不需要它。

现在,如果我将入口点更改为

configureWebpack: {
entry: {
app: './src/as-setup.js'
}
}

我得到两个文件:app.jsvendor.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合并的,所以默认条目仍然存在。

相关内容

  • 没有找到相关文章

最新更新