我正在使用Gulp为AngularJS应用程序构建主要的javascript文件(app.js)。除了一件小事困扰着我,一切都运转良好。我正在使用ng-annotate自动解析我的angular js并添加依赖项注入(inject)语法。所以我从这里开始(不使用ng-annotate进行手动注入(inject)):

angular.module('base.controllers')
        .controller('RandomeCtrl',
                ['$scope', '$routeParams', ...,
                    function($scope, $routeParams, ...) {

为此(将被ng-annotate适当修改的代码):
angular.module('base.controllers')
        .controller('RandomeCtrl',
                    function($scope, $routeParams, ...) {

但是,在大型项目中,如果代码被重复使用或剪切(粘贴),要么
无论是单独使用还是作为一套 Controller 使用,我都希望为自己的 future 和 future 提供警告。
其他开发人员,添加/* @ngInject */批注。像这样:
angular.module('base.controllers')
        .controller('RandomeCtrl',
        /*@ngInject*/
                function($scope, $routeParams, ...) {

如此处所述,双注入(inject)数组存在问题:https://github.com/olov/ng-annotate/issues/28。但是,这似乎不适用于相同的情况,我想知道是否有双重注入(inject)的重大问题需要我致命的恐惧,而且我在网上找不到其他有关后果的信息。

最佳答案

不用害怕! /*@ngInject*/是一种告诉ng-annotate您希望它对特定代码进行注释的方法。如果已经知道了,/*@ngInject*/不会使其做任何额外的事情,并且完全没有害处。

10-02 15:26