angular.js - angularjs 与requirejs集成
问题描述
用require.js管理angular的依赖,发现如下问题(直接上代码):
下面是main.js:------------------------------------------------
require.config({
paths: { 'angular': '../vender/angular-1.5.8/angular', 'jquery': '../vender/jquery-1.11.3', 'angularRoute': '../vender/angular-1.5.8/angular-route.min', 'angularResource': '../vender/angular-1.5.8/angular-resource.min', 'domReady':'../vender/domReady',},shim:{ angular:{exports :'angular' }, angularRoute:{deps:['angular'] }, angularResource:{deps:['angular'] }, },waitSeconds: 0
});
require([
’app’,’bootstrap’,],function(app){’use scrict’;app.config([’$routeProvider’,function($routeProvider){ console.log($routeProvider);}])
})
下面是app.js:------------------------------
define([’angular’],
function(angular){ console.log(’app’); return angular.module(’app’,[]);}
);
下面是bootstrap.js:---------------------------------
define([’angular’,’domReady’],function(angular,domReady){
domReady(function(){ console.log(’boot’); angular.bootstrap(document,[’app’]);})
})
以上是没有报错的,如下是正常运行结果:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
当我在app.js里面加了依赖的模块(angularResource)如下:
define([’angular’,’angularResource’],
function(angular){ console.log(’app’); return angular.module(’app’,[’ngResource’]);}
);
这时就会报错:如下
可以看到app并没有打印出来,这时为何呢?只是引入一个模块而已。如果在bootstrap.js里面引入一个依赖app:如下define([’angular’,’domReady’,’app’],function(angular,domReady){
domReady(function(){ console.log(’boot’); angular.bootstrap(document,[’app’]);})
})就不会报错了。可是不明白为何之前引入一个angularResource就会导致报错呢?
问题解答
回答1:既然应用所有子页面都用到了angular,所以并不需要按需加载angular
相关文章:
1. angular.js - 创建项目问题的2. angular.js - ui-router 有没有手动重新加载路由配置的方法?3. angular.js - wepapp在网页上可以滑动但是适配在手机上不可以,为什么?求解4. mysql - 怎么让java项目的sql兼容多个多种数据库的sql语法?5. angular.js - angularJs使用iframe,网页内容自适应的问题6. angular.js - 请教angularjs里html和js通信的问题7. mysql - 优惠券表应该怎么建,求帮助8. angular.js - AngularJS点击搜索,实现数据变化9. node.js - 怎么在初始化的时候使得一个子组件不加载?10. angular.js - angularjs 怎么封装 upload 上传