Gunakan require.js untuk mengurus kebergantungan sudut, dan menemui masalah berikut (muat naik terus kod):
Berikut adalah 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
});
memerlukan([
'app',
'bootstrap',
],function(app){
'use scrict';
app.config(['$routeProvider',function($routeProvider){
console.log($routeProvider);
}])
})
Berikut ialah app.js:--------------------------------
takrifkan(['sudut'],
function(angular){
console.log('app');
return angular.module('app',[]);
}
);
Berikut ialah bootstrap.js:--------------------------------
takrifkan(['sudut','domReady'],fungsi(sudut,domReady){
domReady(function(){
console.log('boot');
angular.bootstrap(document,['app']);
})
})
Tiada ralat dilaporkan di atas Berikut adalah hasil operasi biasa:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Apabila saya menambah modul bergantung (angularResource) dalam app.js seperti berikut:
takrifkan(['angular','angularResource'],
function(angular){
console.log('app');
return angular.module('app',['ngResource']);
}
);
Pada masa ini, ralat akan dilaporkan: seperti berikut
Anda dapat melihat bahawa apl tidak mencetak, mengapa? Hanya memperkenalkan modul.
Jika anda memperkenalkan apl bergantung dalam bootstrap.js: seperti berikut
define(['angular','domReady','app'],function(angular,domReady){
domReady(function(){
console.log('boot');
angular.bootstrap(document,['app']);
})
})
tidak akan melaporkan ralat.
Tetapi saya tidak faham mengapa memperkenalkan angularResource sebelum ini akan menyebabkan ralat?
Memandangkan semua sub-halaman aplikasi menggunakan sudut, tidak perlu memuatkan sudut atas permintaan