Как реорганизовать инжекцию угловой зависимости для конкатенации и минификации?

Я написал свое угловое приложение в отдельных файлах для моей читабельности и способов легкого поиска вещей для редактирования / кодирования. Это мой 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 должно произойти только один раз.

См. Угловое руководство по стилю: Модули для лучшего объяснения.

Другие вопросы по тегам