Saya menggunakan template benih sudut untuk menyusun aplikasi saya. Awalnya saya memasukkan semua kode JavaScript saya ke dalam satu file main.js
,. File ini berisi deklarasi modul, pengontrol, arahan, filter, dan layanan saya. Aplikasi berfungsi dengan baik seperti ini, tetapi saya khawatir tentang skalabilitas dan pemeliharaan karena aplikasi saya menjadi lebih kompleks. Saya perhatikan bahwa templat benih sudut memiliki file terpisah untuk masing-masing, jadi saya telah mencoba mendistribusikan kode saya dari satu main.js
file ke masing-masing file lain yang disebutkan dalam judul pertanyaan ini dan ditemukan di app/js
direktori sudut template benih .
Pertanyaan saya adalah: bagaimana cara mengelola dependensi agar aplikasi berfungsi? Dokumentasi yang ada yang ditemukan di sini tidak terlalu jelas dalam hal ini karena masing-masing contoh yang diberikan menunjukkan satu file sumber JavaScript.
Contoh dari apa yang saya miliki adalah:
app.js
angular.module('myApp',
['myApp.filters',
'myApp.services',
'myApp.controllers']);
controllers.js
angular.module('myApp.controllers', []).
controller('AppCtrl', [function ($scope, $http, $filter, MyService) {
$scope.myService = MyService; // found in services.js
// other functions...
}
]);
filter.js
angular.module('myApp.filters', []).
filter('myFilter', [function (MyService) {
return function(value) {
if (MyService.data) { // test to ensure service is loaded
for (var i = 0; i < MyService.data.length; i++) {
// code to return appropriate value from MyService
}
}
}
}]
);
services.js
angular.module('myApp.services', []).
factory('MyService', function($http) {
var MyService = {};
$http.get('resources/data.json').success(function(response) {
MyService.data = response;
});
return MyService;
}
);
main.js
/* This is the single file I want to separate into the others */
var myApp = angular.module('myApp'), []);
myApp.factory('MyService', function($http) {
// same code as in services.js
}
myApp.filter('myFilter', function(MyService) {
// same code as in filters.js
}
function AppCtrl ($scope, $http, $filter, MyService) {
// same code as in app.js
}
Bagaimana cara mengelola dependensi?
Terima kasih sebelumnya.