Tôi đang sử dụng mẫu hạt giống góc để cấu trúc ứng dụng của mình. Ban đầu, tôi đặt tất cả mã JavaScript của mình vào một tệp duy nhất main.js
,. Tệp này chứa khai báo mô-đun, bộ điều khiển, chỉ thị, bộ lọc và dịch vụ của tôi. Ứng dụng hoạt động tốt như thế này, nhưng tôi lo lắng về khả năng mở rộng và khả năng bảo trì khi ứng dụng của tôi trở nên phức tạp hơn. Tôi nhận thấy rằng mẫu angle-seed có các tệp riêng biệt cho từng tệp này, vì vậy tôi đã cố gắng phân phối mã của mình từ main.js
tệp đơn vào từng tệp khác được đề cập trong tiêu đề cho câu hỏi này và được tìm thấy trong app/js
thư mục của góc -seed mẫu.
Câu hỏi của tôi là: làm cách nào để quản lý các phần phụ thuộc để ứng dụng hoạt động? Tài liệu hiện có được tìm thấy ở đây không rõ ràng lắm về vấn đề này vì mỗi ví dụ được đưa ra hiển thị một tệp nguồn JavaScript duy nhất.
Một ví dụ về những gì tôi có là:
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
}
Làm cách nào để quản lý các phần phụ thuộc?
Cảm ơn trước.
angular.module('myApp.services', ['myApp.services']);
vào app.js mà không gặp may.
angular.module('myApp.services', ['myApp.server', 'myApp.somethingElse'])
.
angular.module('myApp.service1', ['myApp.service1', 'myApp.service2'])
ban đầu. Nếu không, tôi sẽ không bao gồm myApp.services làm phần phụ thuộc của chính nó.