【问题标题】:SPA using BundleConfig and Require.jsSPA 使用 BundleConfig 和 Require.js
【发布时间】:2013-04-16 20:07:29
【问题描述】:

对于在 SPA 中同时使用 BundleConfig 和 Require.js 的任何合理解释,我将不胜感激。在启动应用程序时,如何选择 BundleConfig 应该加载哪些脚本?哪些脚本不应在 BundleConfig 中调用并通过 AMD 选择性加载?一旦被BundleConfig加载,是否需要在require.js的DEFINE语句中再次调用?

尽我所能搜索,我根本找不到这一切的简单解释。

谢谢!

【问题讨论】:

    标签: requirejs bundle amd single-page-application


    【解决方案1】:

    BundleConfig 将帮助您在 1 次行程中将捆绑包中的所有脚本一起发送到客户端。这减轻了 require.js 的负担或工作。我经常为 3rd 方脚本执行此操作,因为无论如何我很可能需要它们所有客户端。

    然后我可以选择使用 require.js 根据需要加载我的脚本(因此是 AMD),或者也可以预先捆绑它们。

    Require 不只是异步加载东西。它还处理依赖关系解析。对我来说,这是更重要的部分。它确保在我使用模块 A 之前,如果它依赖于 B,它依赖于 C,它依赖于 D,它首先被解决。所以它们被加载并以正确的顺序运行。

    所以无论你是否使用捆绑,require.js 依赖方面都非常有价值。

    【讨论】:

    • 感谢您的回复,约翰。我想我正在尝试制定一个加载脚本的好策略。例如,在您的 CCJS-Scratch 项目中,您决定在 BundleConfig 中加载敲除和微风(在 q 之后)。但是,您决定根据需要加载 durandal。你为什么做出这个决定?
    • 除 durandal 外,所有第 3 方脚本均已捆绑。我就是这样滚动的。然后我自己的脚本按需或在他们自己的捆绑包中。 Durandal 我让它自己处理,因为它会根据需要自行加载(除非您使用 optimizer.exe)
    猜你喜欢
    • 2021-07-08
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2013-06-09
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多