programing

ngInject는 다음 코드에서 무엇을 합니까?

testmans 2023. 3. 26. 09:59
반응형

ngInject는 다음 코드에서 무엇을 합니까?

AngularJS 컨트롤러 코드:

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의 용도를 알 수 없습니다.누가 좀 도와주실래요?

'ngInject';그냥 스트링 리터럴일 뿐이에요ng-notate라는 툴은 플래그로 사용합니다: 함수가 다음 문자로 시작하는 경우'ngInject';ng-containate에 의해 처리됩니다.

기본적으로 ng-notate는 변환됩니다.

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

로.

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

코드를 안전하게 하기 위해서요

ng-notate를 사용하지 않는 경우 식을 무시하거나 삭제할 수 있습니다.단, ng-notate를 사용하면 프로젝트의 빌드 프로세스가 중단될 수 있습니다.ng-containate 및 그 기능에 대한 자세한 내용은http://https://github.com/olov/ng-annotate 를 참조해 주세요.

일반적으로 ngInject는 실가동 환경에 도입 후 최소화 시 응용 프로그램이 작동하기 위해 필요합니다.이 버전을 제거하고 Optimize 버전을 사용하면 실패합니다.

자세한 것은 이쪽

언급URL : https://stackoverflow.com/questions/46556981/what-does-nginject-do-in-the-following-piece-of-code

반응형