首页 > 代码库 > [AngularJS] Best Practise - Minification and annotation

[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 dependenciesfunction SomeCtrl (MyService, $scope, AnotherService, $rootScope) {}

Good:

// ordered Angular -> customfunction 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 wastingSomeService.$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) {}// automatedSomeService.$inject = [‘$scope‘];angular  .module(‘app‘)  .factory(‘SomeService‘, SomeService);

 

[AngularJS] Best Practise - Minification and annotation