使用RequireJS在AngularJS应用程序的索引页面中加载脚本有意义吗
我有一个Angular应用程序,通过多个脚本标记(即Angular.min.js、Angular-route.min.js等)直接加载依赖库。在这个实例中使用requirejs来加载它们,而不是将它们放在索引页面的底部,这有意义吗。Angular具有依赖注入功能,因此与主干应用程序不同,我没有看到它的巨大优势:使用RequireJS在AngularJS应用程序的索引页面中加载脚本有意义吗,angularjs,requirejs,Angularjs,Requirejs,我有一个Angular应用程序,通过多个脚本标记(即Angular.min.js、Angular-route.min.js等)直接加载依赖库。在这个实例中使用requirejs来加载它们,而不是将它们放在索引页面的底部,这有意义吗。Angular具有依赖注入功能,因此与主干应用程序不同,我没有看到它的巨大优势: <!-- Placed at the end of the document so the pages load faster --> <script src=
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/libs/jquery-2.1.0.min.js"></script>
<script src="js/libs/bootstrap.min.js"></script>
<script src="js/libs/angular.min.js"></script>
<script src="js/libs/angular-route.min.js"></script>
<script src="js/libs/angular-resource.min.js"></script>
<script src="js/services/services.js"></script>
<script src="js/controllers/controllers.js"></script>
<script src="js/app.js"></script>
然后尝试在app.js中执行某种引用:
定义(['jquery'、'boostrap'、'angularrouter'、'angularresource'、'services'、'controllers'、'app'],函数($,引导,angularrouter,angularresource,services,controllers){我们在生产系统中使用这种方法。我们还使用RequireJS在构建过程中创建单个js文件,这样可以保存一些HTTP请求。对于小项目,我只需捆绑脚本或使用构建系统自动包含脚本(Grunt而不使用RequireJS).对于较大的项目,我希望能够将我的代码拆分为可延迟加载的捆绑包,我正在制作。有没有一个很好的示例,可以根据我的需要使用straight requires+angular?下面是angular requires JS种子项目的示例,您可能会发现它很有帮助:
require.config({
paths: {
jquery: "/libs/jquery-2.1.1.min",
bootstrap: "/libs/bootstrap.min",
angular: "/libs/angular.min.js",
angularrouter: "/libs/angular-route.min.js",
angularresource: "/libs/angular-resource.min.js",
services: "services/services.js",
controllers: "/controllers/controllers.js",
app: "app.js"
},
shim: {
bootstrap: {
deps: ['jquery'],
exports: 'Bootstrap'
},
angularrouter: {
deps: ['angular'],
exports: 'AngularRouter'
},
angularresource: {
deps: ['angular'],
exports: 'AngularResource'
},
}
});
require(['jquery', 'boostrap', 'angular', 'angularrouter', 'angularresource', 'services', 'controllers', 'app'],
function ($, Bootstrap, angular, AngularRouter, AngularResource, services, controllers, app) {
angular.bootstrap(document, [app.name]);
});