您的位置:首頁技術文章
文章詳情頁

angular.js - angularjs 與requirejs集成

瀏覽:199日期:2024-09-23 18:55:12

問題描述

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

})

以上是沒有報錯的,如下是正常運行結果:

angular.js - angularjs 與requirejs集成

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

當我在app.js里面加了依賴的模塊(angularResource)如下:

define([’angular’,’angularResource’],

function(angular){ console.log(’app’); return angular.module(’app’,[’ngResource’]);}

);

這時就會報錯:如下

angular.js - angularjs 與requirejs集成

可以看到app并沒有打印出來,這時為何呢?只是引入一個模塊而已。如果在bootstrap.js里面引入一個依賴app:如下define([’angular’,’domReady’,’app’],function(angular,domReady){

domReady(function(){ console.log(’boot’); angular.bootstrap(document,[’app’]);})

})就不會報錯了??墒遣幻靼诪楹沃耙胍粋€angularResource就會導致報錯呢?

問題解答

回答1:

既然應用所有子頁面都用到了angular,所以并不需要按需加載angular

相關文章:
国产综合久久一区二区三区