一尘不染

AngularJS缩小最佳实践

angularjs

我正在阅读 http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs-
dependency-injection.html,事实证明,如果您缩小JavaScript的大小,angularjs依赖项注入会出现问题,我想知道是否

var MyController = function($scope, $http) {
    $http.get('https://api.github.com/repos/angular/angular.js/commits')
      .then(function(response) {
        $scope.commits = response.data
      })
  }

你应该使用

var MyController = ['$scope', '$http', function($scope, $http) {
  $http.get('https://api.github.com/repos/angular/angular.js/commits')
    .then(function(response) {
      $scope.commits = response.data
    })
}]

总而言之,我认为第二个片段是针对angularjs的旧版本的,但是....

我是否应该始终使用注入方式(第二种方式)?


阅读 229

收藏
2020-07-04

共1个答案

一尘不染

是的 ,永远!因此,即使您的minifer将$ scope转换为变量a,将$ http转换为变量b,它们的 身份仍然保留 在字符串中。

请参阅AngularJS文档的此页面,向下滚动到 A
Mining on Minification

更新

另外,您可以在构建过程中使用ng-annotate
npm软件包来避免这种冗长的描述。

2020-07-04