为什么我要使用AngularJS Loader以任何顺序加载AngularJS文件?

时间:2013-05-14 17:27:48

标签: angularjs

此问题之前已经被问过,我看到大多数答案建议看一下角度种子:

// 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']);
});

但我仍然不明白装载机有什么优势。有人可以向我解释上面和下面的代码有什么区别:

<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']);
    });

1 个答案:

答案 0 :(得分:2)

在这个简单的例子中,它可能并不重要。但是当你有许多相互依赖的模块时,你很快就会遇到管理噩梦。例如,在moduleA.js之前加载moduleB.js(如果moduleB依赖于moduleA)会导致错误。 angular loader将首先加载moduleA.js,即使它是在数组中的moduleB.js之后定义的。

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