国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS壓縮JS技巧分析

2019-11-19 19:01:13
字體:
來源:轉載
供稿:網友

本文實例講述了AngularJS壓縮JS的操作技巧。分享給大家供大家參考,具體如下:

大多數web項目在發布時候都會對js代碼進行壓縮,目的是為了減少js文件的大小,節省一點流量。

它的原理很簡單,就是對參數及部分變量名和函數進行重命名。

但是這種工作方式在AngularJS的應用中會有例外。

由于AngularJS的依賴注入是根據參數名進行注入的,顯然,對參數進行重命名會破壞這個機制。

如果不進行特殊處理,進行壓縮(minify)之后,在執行時將會出現這樣的錯誤

Unknow provider: aProvider<-a

對于這種錯誤的官方解釋是:找不到依賴的服務

也就是說這種依賴注入會出現錯誤。

好在AngularJS內置了一種標準機制來處理這個問題.

最簡單也最常見的方式就是用數組代替函數。如:

.controller('RegisterCtrl', ['$scope', '$interval', '$timeout', function ($scope, $interval, $timeout) {  //do something}]);

數組的最后一個元素始終是一個函數,而前面幾個參數都是字符串,和這個函數中的參數一一對應。

另一種形式便是所謂的Annotation方式。

var objCtrl = function($scope, $timeout, $interval){  // do something}//給objCtrl函數增加一個$inject屬性,它是一個數組,定義了需要被注入的對象objCtrl.$inject = ['$scope', '$interval', '$timeout'];

這里的依賴注入形式不僅限于Controller,一切需要DI(依賴注入的directive、factory、services等)都可以采用這兩種方式。

希望本文所述對大家AngularJS程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳高县| 婺源县| 九寨沟县| 开封县| 明水县| 博爱县| 甘泉县| 宁夏| 洮南市| 化德县| 东阳市| 胶南市| 宁武县| 且末县| 淮南市| 麻江县| 赣州市| 曲麻莱县| 浏阳市| 温宿县| 都安| 漠河县| 方城县| 阿尔山市| 百色市| 新津县| 茌平县| 柳林县| 河池市| 宁晋县| 北海市| 漳浦县| 亚东县| 淳安县| 共和县| 克什克腾旗| 莆田市| 鞍山市| 冀州市| 仲巴县| 庐江县|