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. javascript - 使用form進行頁面跳轉,但是很慢,如何加一個Loading?2. python 計算兩個時間相差的分鐘數,超過一天時計算不對3. docker-compose中volumes的問題4. javascript - 后臺管理系統左側折疊導航欄數據較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當前菜單5. docker-machine添加一個已有的docker主機問題6. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?7. javascript - ES6規范下 repeat 函數報錯 Invalid count value8. javascript - html5的data屬性怎么指定一個function函數呢?9. html5 - 為什么使使用vue cli 腳手架,post-css 沒有自動對css3屬性自動添加瀏覽器前綴呢?10. javascript - 如何使用nodejs 將.html 文件轉化成canvas
