Webpack 4+已经开箱即用了optimisation
。
我还有一件不清楚的事情:
示例:
/node_modules/foo has a bundled dependency 'foobar'
而且
/node_modules/bar has a bundled dependency 'foobar'
当我将两者都导入到主包中时,webpack是否会消除foobar
依赖项?
import foo from 'foo';
import baz from 'baz';
foo(baz('hello world'));
我会说没有,因为那些软件包已经捆绑在一起,但是我找不到任何有关它的官方文档...
答案 0 :(得分:0)
这取决于,如果从foo
和bar
导入的内容是导入到模块 foobar的,则此模块将成为应用程序deps树的一部分,因此在树上只有一次。
如果foo
和bar
拥有代码的副本,则webpack将无法“识别”该代码为重复代码,并且将仅保留一个副本。