2014-11-02 112 views
-1

時由於我涅槃和uglifying我的JS包括$ HTTP,我不能簡單地做到以下幾點:角度如何縮小JS

var app = angular.module('app', []); 
app.controller('MyController', function($scope, $http) { 
// ... 
}); 

它會拋出一個注入相關的錯誤,因爲它涅槃攪亂up $ scope var。

相反,我必須這樣做:

app.controller('MyController', ['$scope', function($scope) { 
    $scope.angularIs = "awesome"; 
}]); 

問題:使用第二種方法,我怎麼添加HTTP服務?像這樣?

app.controller('MyController', ['$scope&$http', function($scope, $http) { 
// ... 
}]); 

而且可以在我的angular.module('app', []);聲明維持不變呢,還是有某種類型的HTTP的依賴增加了[]的?謝謝!

+0

https://docs.angularjs.org/guide/di – Blackhole 2014-11-02 13:33:33

+1

順便說一句,使用像gulp/grunt這樣的構建工具,你可以自動添加這些,所以你不必在任何地方「雙注入」。 https://www.npmjs.org/package/gulp-ng-annotate – JimL 2014-11-02 14:21:17

回答

0

你可以使用:

app.controller('MyController', ['$scope', '$http', function($scope, $http) { 
    // ... 
}]); 

它將匹配,然後對裏面的參數()函數。您的應用程序的依賴關係始終是字符串,因此這些在縮小時會很好。

0

使用本:

app.controller('MyController', ['$scope','$http', function($scope, $http) { 
// ... 
}]);