我正在使用Gulp为AngularJS应用程序构建我的主要javascript文件(app.js)。一切都很好,除了一件困扰我的小事。我正在使用ng-annotate自动解析我的角度js并添加依赖注入语法。所以我从这里开始(手动注射而不使用ng-annotate):
angular.module('base.controllers')
.controller('RandomeCtrl',
['$scope', '$routeParams', ...,
function($scope, $routeParams, ...) {
对此(将通过ng-annotate适当修改的代码):
angular.module('base.controllers')
.controller('RandomeCtrl',
function($scope, $routeParams, ...) {
然而,在重大项目中,如果代码被重复使用或(喘气)剪切和粘贴
单独或作为一套控制器,我喜欢对我未来的自我的警告
其他开发者,添加/* @ngInject */
注释。像这样:
angular.module('base.controllers')
.controller('RandomeCtrl',
/*@ngInject*/
function($scope, $routeParams, ...) {
双注射阵列存在问题,如下所示:https://github.com/olov/ng-annotate/issues/28。然而,这似乎并不适用于相同的情况,我想知道是否存在双重注射的一个主要问题,我需要死心地害怕,我在网上找不到其他的后果。< / p>
答案 0 :(得分:9)
无需害怕! /*@ngInject*/
是一种告诉ng-annotate你希望它注释某段代码的方法。如果它已经知道了,/*@ngInject*/
不会使它做任何额外的事情而且完全无害。