[AngularJS] Best Practise - Minification and annotation

Annotation Order:

It‘s considered good practice to dependency inject Angular‘s providers in before our own custom ones.

Bad:

// randomly ordered dependencies
function SomeCtrl (MyService, $scope, AnotherService, $rootScope) {

}

Good:

// ordered Angular -> custom
function SomeCtrl ($scope, $rootScope, MyService, AnotherService) {

}

 

Minification methods, automate it

Use ng-annotate for automated dependency injection annotation, as ng-min is deprecated.

With our function declarations outside of the module references, we need to use the @ngInject comment to explicitly tell ng-annotate where to inject our dependencies. This method uses $inject which is faster than the Array syntax.

Manually specifiying the dependency injection arrays costs too much time.

Bad:

function SomeService ($scope) {

}
// manually declaring is time wasting
SomeService.$inject = [‘$scope‘];
angular
  .module(‘app‘)
  .factory(‘SomeService‘, SomeService);

Good:

// Using the ng-annotate keyword @ngInject to instruct things that need annotating:

/**
 * @ngInject
 */
function SomeService ($scope) {

}
angular
  .module(‘app‘)
  .factory(‘SomeService‘, SomeService);

Will produce:

/**
 * @ngInject
 */
function SomeService ($scope) {

}
// automated
SomeService.$inject = [‘$scope‘];
angular
  .module(‘app‘)
  .factory(‘SomeService‘, SomeService);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。