2016-10-03 86 views
3

有没有办法延迟加载DLL中的webpack?延迟加载的DLL

我一直在看下面的例子:https://gist.github.com/robertknight/058a194f45e77ff95fcd

的例子分离出一个包为DLL,但包括它通过脚本标签。

有没有办法让Webpack有条件地包含来自另一个bundle的DLL

这个想法是使用它作为延迟加载技术,其中仅当某些用户特定的运行时条件为真时才加载该包。

为背景,我在角2

回答

1

这样做,你可能想使用code splitting而不是DLL插件 - 我觉得DLL插件诞生出需要优化编译比什么都重要倍。

代码拆分会将您的包拆分为多个块,只有在需要时才会自动提取。

注意:Webpack 1使用require.ensure,而Webpack 2使用System.import来定义“分割点”。

+1

这是真的,但延迟加载DLL包的一个原因是因为它预先评估了该包,所以在每次构建应用程序时都不需要重新构建它。例如,如果你想懒加载一个像Kendo UI这样的大型库,那么'require.ensure'对于延迟加载就可以正常工作,但是webpack必须每次都重新构建它,这会损失DLL包的好处。 – TetraDev

+0

@TetraDev你是否在手表模式下使用Webpack,因为我发现增量构建的速度非常快,即使有很多第三方库? – riscarrott

+0

是的你说得对,我使用webpack手表模式进行增量构建,速度更快。我只是指最初的构建时间,我的大约35s,增量大约5s。 – TetraDev