2

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

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

1 回答 1

2

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

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

于 2013-05-14T17:44:51.017 回答