2017-10-04 5 views
0

AngularJSコントローラコード:次のコードでngInjectは何をしますか?

function AuthConfig($stateProvider, $httpProvider) { 
    'ngInject'; 

    // Define the routes 
    $stateProvider 

    .state('app.login', { 
    url: '/login', 
    templateUrl: 'auth/auth.html', 
    title: 'Sign in' 
    }) 

    .state('app.register', { 
    url: '/register', 
    templateUrl: 'auth/auth.html', 
    title: 'Sign up' 
    }); 

}; 

export default AuthConfig; 

私はngInjectの使用が何であるかを把握することはできませんよ。誰かが私を助けてくれますか?

答えて

2

'ngInject';自身で何もしない、それだけで文字列リテラルの読み取り。 ng-annotateと呼ばれるツールは、それをフラグとして使用します。関数が'ngInject';で始まる場合、ng-annotateによって処理されます。あなたはNG-注釈を使用していない場合は

基本的には、NG-注釈が

angular.module("MyMod").controller("MyCtrl", ["$scope", "$timeout", function($scope, $timeout) { 
    "ngInject"; 
    ... 
}]); 

angular.module("MyMod").controller("MyCtrl", function($scope, $timeout) { 
    "ngInject"; 
    ... 
}); 

を変えていく、あなたは安全に無視するか、式を削除することができます。 ng-annotateの詳細については、https://github.com/olov/ng-annotate

+0

こんにちは、ありがとうございました。 –

0

通常、実稼働環境に展開した後は、アプリケーションを縮小したときにアプリケーションが動作するために必要です。それを削除して最適バージョンを使用すると、失敗するはずです。

はよりおよそAngularJs Minification and Annotation

+0

Sajeetharanを参照してください。ただし、ngInjectを特に使用する理由はありません。まさにそれは何をしていますか? –

関連する問題