【问题标题】:AngularJS - does everything need to loaded on initial page load?AngularJS - 在初始页面加载时是否需要加载所有内容?
【发布时间】:2013-05-08 04:39:00
【问题描述】:

我正在深入研究带有 Angular 的 JavaScript MVC,据我了解,连同初始 shell 页面,您的所有脚本都必须在初始页面加载时加载。但是,如果我错了,请纠正我,这意味着您加载的大部分脚本可能完全没用(即您有视图#1 显示并且视图#2 - #10 的脚本还不需要)?

就我而言,我有一个相当大的 Web 应用程序,其中包含提要页面、结果页面、产品页面、个人资料页面等。它总共有 10 多页,而我当前的(传统)方法是在加载时加载特定于每个页面的脚本。现在每个页面都是部分的,我不相信可以加载带有部分的特定脚本?

所以,我的部分问题是我的陈述是否准确。另一个是我担心在初始页面加载时遭受痛苦是否有道理(尤其是对于例如移动设备)。

我真正进入 Angular 是为了希望使用 MVC 方法清理我的 JavaScript,并且不打算将其作为单页应用程序来利用(我可以放弃使用将不同的部分路由到我的视图中,对吗?) .但现在我不确定。我只是想在实现飞跃之前更好地了解它的工作原理。

任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: view angularjs single-page-application partials


    【解决方案1】:

    使用 Require.JS 了解 AMD 模式(适用于任何类型的 JS 框架)。有一个 AngularJS + RequireJS 的种子项目。

    【讨论】:

    • 使用 RequireJS,您最终仍会将您将使用的所有模块加载到您的主模块定义中(因为 Angular 在看到所有部分之前不会引导)。我认为要解决这个问题,您必须使用类似“define ['require', function(require) { dep1 = require("dependency_1"); dep2 = require("dep2"); .... }] . IMO 不值得。Angular 团队表示他们正在为 2.0 准备。我们只能希望他们的解决方案适用于 RequireJS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多