欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS壓縮JS技巧分析

 更新時(shí)間:2016年11月08日 09:37:50   作者:前端超人  
這篇文章主要介紹了AngularJS壓縮JS的操作技巧,分析了AngularJS進(jìn)行壓縮(minify)之后出現(xiàn)的問題與相應(yīng)的解決方法,需要的朋友可以參考下

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

大多數(shù)web項(xiàng)目在發(fā)布時(shí)候都會(huì)對(duì)js代碼進(jìn)行壓縮,目的是為了減少js文件的大小,節(jié)省一點(diǎn)流量。

它的原理很簡(jiǎn)單,就是對(duì)參數(shù)及部分變量名和函數(shù)進(jìn)行重命名。

但是這種工作方式在AngularJS的應(yīng)用中會(huì)有例外。

由于AngularJS的依賴注入是根據(jù)參數(shù)名進(jìn)行注入的,顯然,對(duì)參數(shù)進(jìn)行重命名會(huì)破壞這個(gè)機(jī)制。

如果不進(jìn)行特殊處理,進(jìn)行壓縮(minify)之后,在執(zhí)行時(shí)將會(huì)出現(xiàn)這樣的錯(cuò)誤

Unknow provider: aProvider<-a

對(duì)于這種錯(cuò)誤的官方解釋是:找不到依賴的服務(wù)

也就是說這種依賴注入會(huì)出現(xiàn)錯(cuò)誤。

好在AngularJS內(nèi)置了一種標(biāo)準(zhǔn)機(jī)制來處理這個(gè)問題.

最簡(jiǎn)單也最常見的方式就是用數(shù)組代替函數(shù)。如:

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

數(shù)組的最后一個(gè)元素始終是一個(gè)函數(shù),而前面幾個(gè)參數(shù)都是字符串,和這個(gè)函數(shù)中的參數(shù)一一對(duì)應(yīng)。

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

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

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

希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Angular 組件之間的交互的示例代碼

    Angular 組件之間的交互的示例代碼

    這篇文章主要介紹了Angular 組件之間的交互的示例代碼,根據(jù)數(shù)據(jù)的傳遞方向,分為父組件向子組件傳遞、子組件向父組件傳遞及通過服務(wù)傳遞三種交互方法。非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-03-03
  • angular6.0開發(fā)教程之如何安裝angular6.0框架

    angular6.0開發(fā)教程之如何安裝angular6.0框架

    這篇文章主要介紹了angular6.0開發(fā)教程之如何安裝angular6.0框架,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Angularjs實(shí)現(xiàn)數(shù)組隨機(jī)排序的方法

    Angularjs實(shí)現(xiàn)數(shù)組隨機(jī)排序的方法

    今天小編就為大家分享一篇Angularjs實(shí)現(xiàn)數(shù)組隨機(jī)排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 在angularJs中進(jìn)行數(shù)據(jù)遍歷的2種方法

    在angularJs中進(jìn)行數(shù)據(jù)遍歷的2種方法

    今天小編就為大家分享一篇在angularJs中進(jìn)行數(shù)據(jù)遍歷的2種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Angular中Lazy Loading懶加載陷阱避坑最佳實(shí)踐

    Angular中Lazy Loading懶加載陷阱避坑最佳實(shí)踐

    這篇文章主要為大家介紹了Angular中Lazy Loading懶加載陷阱避坑最佳實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • AngularJS中$http的交互問題

    AngularJS中$http的交互問題

    本篇文章主要介紹了AngularJS中$http的交互問題 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解angularJS自定義指令間的相互交互

    詳解angularJS自定義指令間的相互交互

    本篇文章主要介紹了詳解angularJS自定義指令間的相互交互,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • AngularJS Select(選擇框)使用詳解

    AngularJS Select(選擇框)使用詳解

    這篇文章主要為大家詳細(xì)介紹了AngularJS Select選擇框的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • AngularJs導(dǎo)出數(shù)據(jù)到Excel的示例代碼

    AngularJs導(dǎo)出數(shù)據(jù)到Excel的示例代碼

    本篇文章主要介紹了AngularJs導(dǎo)出Excel的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 淺析AngularJS中的指令

    淺析AngularJS中的指令

    指令(Directives)是所有AngularJS應(yīng)用最重要的部分。盡管AngularJS已經(jīng)提供了非常豐富的指令,但還是經(jīng)常需要?jiǎng)?chuàng)建應(yīng)用特定的指令
    2016-03-03

最新評(píng)論