angularjs - 为什么我想使用 AngularJS Loader 以任意顺序加载 AngularJS 文件?

标签 angularjs

这个问题之前已经被问过,我看到大多数答案都建议查看执行此操作的 Angular 种子:

// include angular loader, which allows the files to load in any order
/*
 AngularJS v1.0.0rc1
 (c) 2010-2012 AngularJS http://angularjs.org
 License: MIT
*/
'use strict';(function ..............................................
$script([
  'lib/angular/angular.js',
  'js/app.js',
  'js/services.js'
], function() {
  // when all is done, execute bootstrap angular application
  angular.bootstrap(document, ['myApp']);
});

但是我还是不明白loader有什么优势。有人可以向我解释一下上面的代码和下面的代码有什么区别吗:

<script src='lib/angular/angular.js'></script>
<script src='js/app.js'></script>
<script src='js/services.js'></script>
<script type="text/javascript">
    angular.element(document).ready(function () {
        angular.bootstrap(document, ['mainApp']);
    });

最佳答案

在这个简单的示例中,这可能并不重要。然而,当您有许多相互依赖的模块时,您很快就会陷入管理噩梦。例如,在 moduleA.js 之前加载 moduleB.js(如果 moduleB 依赖 moduleA)会导致错误。 Angular 加载器将首先加载 moduleA.js,即使它是在数组中的 moduleB.js 之后定义的。

另一个好处是它异步加载文件(如果您的应用程序的不同区域具有不同的库要求,这将很有用:异步加载允许主页在这些库可用之前呈现并开始运行)。

关于angularjs - 为什么我想使用 AngularJS Loader 以任意顺序加载 AngularJS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549289/

相关文章:

javascript - AngularJS:避免在收到响应之前两次调用相同的 REST 服务

angularjs - 使用 Angular 1.29 和最新的 Chrome 47 在模态中选择下拉菜单

angularjs - ADFS 3 OAuth 2 CORS 错误

html - 使用 angularjs 和 HTML 在单击按钮时显示 div

javascript - 在 Angular JS 中动态应用 CSS 样式属性

javascript - AngularJS中的Web服务参数?找不到解决方案

javascript - AngularJS 将常量注入(inject)工厂时出现未知提供者错误

javascript - 当按钮单击事件 ng-click 但 ng-repeat 未加载时,我正在调用 ajax

javascript - 如何修改我在 node.js 中提供的页面

javascript - 如何将 Angular 变量注入(inject) JavaScript 变量?