Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Webpack 3.x迁移到4.x_Javascript_Webpack - Fatal编程技术网

Javascript 从Webpack 3.x迁移到4.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中,无法将通用模块放入其中

我需要帮助从Webpack3.x到4.x迁移像product这样的小部件。由于删除了CommonChunkPlugin,我陷入困境,现在我无法使用SplitChunksPlugin实现相同的行为

是一个回购协议,带有一个小演示来显示问题。有没有办法使用Webpack4.x实现相同的代码拆分


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中,并被其他条目重用。