Как реорганизовать инжекцию угловой зависимости для конкатенации и минификации?
Я написал свое угловое приложение в отдельных файлах для моей читабельности и способов легкого поиска вещей для редактирования / кодирования. Это мой app.js, который требует зависимости.
app.js
var app = angular.module('app', ['ngResource', 'ngRoute', 'app.services', 'app.controllers', 'app.feed','app.directives', 'app.factories']);
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
...
}]);
Это пример того, как выписываются зависимости.
services.js
var app = angular.module('app.services', []);
app.factory('AuthService', ['$scope'], function($scope) {
...
}]);
Однако, когда я пытаюсь согласовать сценарии, приложение постоянно пересматривается. Я думал о том, чтобы убрать объявление var, но мне нравится хранить файлы отдельно.
Как бы я мог написать это, где инъекции зависимостей остаются нетронутыми для моего app.js, сохраняя при этом отдельные файлы.
1 ответ
Чтобы предотвратить постоянное повторное объявление переменной вашего приложения, вы можете воспользоваться шаблоном модуля: Angular Style Guide: Modules. Вместо явного объявления приложения в каждой зависимости:
var app = angular.module('app.services', []);
app.factory('AuthService', ['$scope'], function($scope) {
...
}]);
Вы можете определить свой сервис, компонент, директиву, контроллер и т. Д. Как часть правильного модуля:
angular.module('app.services')
.factory('AuthService', ['$scope'], function($scope) {
...
}]);
Объявление модуля app.services должно произойти только один раз.
См. Угловое руководство по стилю: Модули для лучшего объяснения.