如何重构 angular 依赖注入以进行连接和缩小?

How to refactor angular dependency injection for concatination and minification?

我已将我的 angular 应用程序编写到单独的文件中,以提高可读性和轻松查找 edit/code 内容的方法。这是我的 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) {
    ...
}]);

但是,当我尝试连接脚本时,app 不断被重新定义。我想去掉 var 声明,但我喜欢将文件分开。

我如何能够在依赖注入对我的 app.js 保持完整的情况下写出这个,同时仍然保持文件分开。

为了防止你的应用程序变量的常量重新声明,你可以利用模块模式: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' 模块只需要发生一次。

请参阅:Angular Style Guide:Modules 以获得更好的解释。