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

时间:2016-02-15 20:58:42

标签: javascript angularjs gulp gulp-concat gulp-uglify

我已将我的角度应用程序写入单独的文件中,以便于我的可读性以及轻松查找要编辑/编码的内容的方法。这是我的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保持完整的依赖注入,同时仍保持文件分开的情况下,我怎么能写出来呢?

1 个答案:

答案 0 :(得分:1)

为防止不断重新声明app变量,您可以利用模块模式: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以获得更好的解释。