【问题标题】:Lazy loaded DLLs延迟加载的 DLL
【发布时间】:2017-02-11 16:40:57
【问题描述】:

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

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

该示例将捆绑包分离为DLL,但通过脚本标签包含它。

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

我们的想法是将其用作延迟加载技术,其中仅在某些用户特定的运行时条件为真时才加载包。

对于上下文,我在 Angular 2 中这样做

【问题讨论】:

    标签: angular webpack webpack-2


    【解决方案1】:

    您可能希望使用code splitting 而不是 DLL 插件——我认为 DLL 插件的诞生是为了优化编译时间。

    代码拆分会将您的捆绑包分成多个块,仅在需要时才会自动获取。

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

    【讨论】:

    • 这是真的,但延迟加载 DLL 包的一个原因是它预先编译了该包,因此您无需在每次构建应用程序时都重新构建它。例如,如果你想延迟加载像 Kendo UI 这样的大型库,那么 require.ensure 可以很好地用于延迟加载,但 webpack 必须每次都重新构建它,失去了 DLL 包的好处。
    • @TetraDev 您是否在监视模式下使用 Webpack,因为我发现即使使用许多第三方库,增量构建也非常快?
    • 是的,你是对的,我正在使用 webpack watch 模式进行增量构建,它要快得多。我只是指初始构建时间,我的是大约 35 秒,增量大约 5 秒。
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多