Javascript 从Webpack 3.x迁移到4.x
我需要帮助从Webpack3.x到4.x迁移像product这样的小部件。由于删除了CommonChunkPlugin,我陷入困境,现在我无法使用SplitChunksPlugin实现相同的行为 是一个回购协议,带有一个小演示来显示问题。有没有办法使用Webpack4.x实现相同的代码拆分Javascript 从Webpack 3.x迁移到4.x,javascript,webpack,Javascript,Webpack,我需要帮助从Webpack3.x到4.x迁移像product这样的小部件。由于删除了CommonChunkPlugin,我陷入困境,现在我无法使用SplitChunksPlugin实现相同的行为 是一个回购协议,带有一个小演示来显示问题。有没有办法使用Webpack4.x实现相同的代码拆分 UPD:目标是将公共模块保留在加载器入口包中,其他一切都应该重用它们。请查看webpack-4 branch,也许我遗漏了什么 过了一段时间,我自己找到了解决办法 在Webpack4中,无法将通用模块放入其中
UPD:目标是将公共模块保留在加载器入口包中,其他一切都应该重用它们。请查看webpack-4 branch,也许我遗漏了什么 过了一段时间,我自己找到了解决办法 在Webpack4中,无法将通用模块放入其中一个条目中,因此唯一的方法是将它们放入common.js中。当然,如果有一个大的通用包,将其拆分为几个较小的模块并仅在需要时加载它们是有意义的
splitChunks: {
chunks: 'all'
name: 'common',
minChunks: 2,
},
然后,为了使加载程序在没有common.js的情况下可执行,splitChunks应该忽略它:
splitChunks: {
chunks: chunk => chunk.name !== 'loader',
name: 'common',
minChunks: 2,
},
作为加载程序代码的结果,其他条目可以与commons一起加载
Promise.all([
loadCommon(),
loadEntry(),
]).then(() => runEntry());
对于这个愚蠢的问题,很抱歉,解决方案被证明是在表面上的。到底是什么不起作用?因为在这里,当更新到Webpack4时,它生成了加载程序widget1和widget2。与网页3的结果相同。不完全相同。文件集保持不变,但在Webpack4.x中,每个条目都有自己的公共模块实例,我的目标是将公共内容保留在loader.js中,并被其他条目重用。