Angular 中的縮小
什麼是縮小?
這是從原始碼中刪除所有不必要的字元而不更改其功能的過程。
普通語法
如果我們使用普通的角度語法來編寫控制器,那麼在微調我們的檔案之後它將破壞我們的功能。
控制器(縮小前):
var app = angular.module('mainApp', []);
app.controller('FirstController', function($scope) {
$scope.name= 'Hello World !';
});
使用縮小工具後,將如下所示縮小。
var app=angular.module("mainApp",[]);app.controller("FirstController",function(e){e.name= 'Hello World !'})
這裡,minification 從程式碼中刪除了不必要的空格和$ scope 變數。因此,當我們使用這個縮小的程式碼時,它不會在檢視上列印任何內容。因為$ scope 是控制器和檢視之間的關鍵部分,現在它被小的’e’變數取代。因此,當你執行應用程式時,它將給出未知提供程式’e’依賴性錯誤。
有兩種方法可以使用服務名稱資訊來註釋你的程式碼,這些資訊是安全的最小化:
內聯註釋語法
var app = angular.module('mainApp', []);
app.controller('FirstController', ['$scope', function($scope) {
$scope.message = 'Hello World !';
}]);
$ inject 屬性註釋語法
FirstController.$inject = ['$scope'];
var FirstController = function($scope) {
$scope.message = 'Hello World !';
}
var app = angular.module('mainApp', []);
app.controller('FirstController', FirstController);
縮小後,此程式碼將是
var app=angular.module("mainApp",[]);app.controller("FirstController",["$scope",function(a){a.message="Hello World !"}]);
這裡,angular 將變數’a’視為$ scope,它將輸出顯示為’Hello World!’。