• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    9種改善AngularJS性能的方法

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:24:44
    文檔

    9種改善AngularJS性能的方法

    9種改善AngularJS性能的方法:AngularJS 是目前使用非常廣泛的 web app 應(yīng)用框架,隨著它的受歡迎程度持續(xù)上升 ,期待已久的AngularJS 4.0 誕生了。盡管已經(jīng)做了很多優(yōu)化,但幾乎每個 Angular 專家仍然在處理使用 AngularJS 中出現(xiàn)的各種各樣的問題。 目前,企業(yè)使用Web技術(shù)用在他們各
    推薦度:
    導(dǎo)讀9種改善AngularJS性能的方法:AngularJS 是目前使用非常廣泛的 web app 應(yīng)用框架,隨著它的受歡迎程度持續(xù)上升 ,期待已久的AngularJS 4.0 誕生了。盡管已經(jīng)做了很多優(yōu)化,但幾乎每個 Angular 專家仍然在處理使用 AngularJS 中出現(xiàn)的各種各樣的問題。 目前,企業(yè)使用Web技術(shù)用在他們各

    AngularJS 是目前使用非常廣泛的 web app 應(yīng)用框架,隨著它的受歡迎程度持續(xù)上升 ,期待已久的AngularJS 4.0 誕生了。盡管已經(jīng)做了很多優(yōu)化,但幾乎每個 Angular 專家仍然在處理使用 AngularJS 中出現(xiàn)的各種各樣的問題。

    目前,企業(yè)使用Web技術(shù)用在他們各自項目上,在線業(yè)務(wù)因此受到了極大影響。因此,有必要深入挖掘影響企業(yè)成長的各種因素。

    但是,有可能不正確地使用 AngularJS 方法會影響你的應(yīng)用程序在市場上的排名,因此 AngularJS 性能優(yōu)化成為每個AngularJS開發(fā)專家的重要需求。這就是為什么我們在這個博客中列出了九種提高 AngularJS 性能的方法的原因。

    最近,巴西計算機科學(xué)家進(jìn)行了一項調(diào)查,他們發(fā)現(xiàn)有關(guān)引起AngularJS程序員性能問題的原因的有趣事實。對于AngularJS在現(xiàn)實世界中的性能并沒有太多的信息。但是基于調(diào)查的研究為此提供了一些證據(jù)。

    該調(diào)查得到下面結(jié)果:

    45%的投票者表示是由于源代碼問題影響的性能。

    只有 8% 的投票者承認(rèn)實際上做了改變。

    一些受訪者指責(zé) AngularJS 的架構(gòu)。

    其中有些則指責(zé)不必要的雙向綁定。

    在對 AngularJS 性能進(jìn)行了如此多的討論之后,現(xiàn)在可以看看九種可以改善 AngularJS 性能的方法了。

    AngularJS 的性能可以簡單地通過它的 digest 周期測量。digest 周期可以被作為一個循環(huán)。在這個周期中,Angular 通過所有的 $scopes來檢查所有變量的改變。如果$scope.myVar 是定義在控制器(controller)中并且標(biāo)記為觀察,那么 Angular  將會對myVar更新進(jìn)行監(jiān)視,這種監(jiān)視每迭代循環(huán)一次就檢查一次。

    1、用 Batarang 工具對 Watcher 進(jìn)行基準(zhǔn)測試

    對于使用 Angular 的團隊來說, Batarang  是一個不錯的開發(fā)工具,它可以減少你在調(diào)試上的壓力。盡管可能有很多新特性,但它們主要還是來幫助你描述和追蹤你的 AngularJS 的性能。此外,它是通過監(jiān)控樹來決定哪個范圍不被銷毀的,例如,通過查看內(nèi)存使用量是否有增加來決定是否銷毀。

    2、使用 Native JavaScript 或 Lodash

    Lodash 通過簡單地重寫一些基本邏輯,而不是依靠內(nèi)置的 AngularJS 方法來提高應(yīng)用程序性能。如果你的應(yīng)用程序中沒有包含 Lodash,那么你可能需要重新編寫 Native JavaScript 中的所有代碼了。

    3、用 Chrome 開發(fā)工具 Profiler 識別性能瓶頸

    這是一個方便的工具,可讓你選擇要創(chuàng)建哪個配置文件類型。記錄分配時間點、獲取堆快照并記錄所分配的配置文件用于內(nèi)存剖析。在這個性能優(yōu)化之后,你的應(yīng)用程序?qū)⒃诓坏絻擅腌妰?nèi)完全呈現(xiàn),用戶可以隨意與之進(jìn)行交互。

    4、盡量減少觀察者

    AngularJS 完全圍繞在它的 digest cycle 中。每當(dāng)觸發(fā) digest cycle 時,它將循環(huán)遍歷每個綁定以檢測模型變動。通過減少觀察者的數(shù)量,可以減少每個 digest cycle 中消耗的時間。它還可以減少應(yīng)用程序的內(nèi)存占用。

    5、ng-if 比 ng-show 更佳

    ng-show 指令在特定元素上切換 CSS 顯示屬性,而ng-if指令實際上從 DOM 中刪除元素,并在需要時重新創(chuàng)建它。此外, ng-switch 指令是 ng-if 的替代方案,它們具有相同的性能。

    6、不要使用 ng-repeat

    沒有使用 ng-repeat 指令就是應(yīng)用程序的最大勝利,因此建議避免使用 ng-repeat 并使用 JavaScript 構(gòu)建 HTML。對于發(fā)聲的應(yīng)用程序,使用 ng-if 導(dǎo)致增加不必要的觀察者。使用 ng-bind-html 指令是擺脫這個問題的更好的解決方案。

    7、使用 $watchCollection (包含第三個參數(shù))

    使用帶有兩個參數(shù)的 $watch 是好的 - 但是在使用 $watch(‘value',function(){},true)時帶有三個參數(shù)的 $watch,這使得 Angular 可以執(zhí)行深度檢查(以檢查對象的每個屬性)。 但代價可能是十分昂貴的。因此,為了解決這樣一個性能問題,Angular提供了 $watchCollection(‘value', function(){})指令,它與第三個參數(shù)幾乎相同,只是以低成本檢查對象屬性的第一層。

    8、為了調(diào)試問題使用 console.time

    如果你的應(yīng)用正努力調(diào)試問題并影響了Angular 性能,就需要使用 console.time,這是一個很不錯的 API。

    9、反綁定 ng-model

    你可以反綁定輸入的 ng-model 。舉例來說,像谷歌那樣的反綁定搜索輸入,你必須使用 ng-model-options=”{debounce:250}”。這能讓其在 digest 周期內(nèi),至少每 250ms 就檢測一次觸發(fā)。

    現(xiàn)在的開發(fā)時間是非常寶貴的,因此你需要一個像 AngularJS 這樣全面的框架來快速開展業(yè)務(wù)。

    經(jīng)過大量研究,我們收集了一些別的重要工作來提高 AngularJS 的性能。

    下面有 4 個用于提升 AngularJS 性能的工具。

    1、 Protractor

    Protractor 是最強大的自動化端到端的 Angular 測試工具,由 Angular 團隊開發(fā)。Protractor 由一些偉大的技術(shù)組合而來,比如 NodeJS、Selenium]WebDriver、Mocha、Cucumber 和 Jasmine。

    2、GulpJS

    GulpJS 用于自動執(zhí)行重復(fù)性的任務(wù),是流式的構(gòu)建系統(tǒng),可以使用 JSHint 或 ESLint 來檢查 JavaScript。

    3、TestingWhiz

    TestingWhiz 是最人性化的自動化測試工具之一,因為它擁有無代碼腳本的特性。TestingWhiz 提供了端到端測試方案用于測試 AngularJS 應(yīng)用程序。它有各種測試命令可以輕松創(chuàng)建 AngularJS 相關(guān)的測試。TestingWhiz 有一個相對動態(tài)的等待命令,所以以同步不同服務(wù)器等待 AngularJS 組件的時間。

    4、WebdriverIO

    WebdriverIO 讓你只和行代碼就能控制瀏覽器或移動應(yīng)用程序。你的測試代碼看起來會很簡單明了,易于閱讀。它的集成測試運行工具可以讓你以同步的方式編寫異步命令,這樣你就不必在意如何處理 Promise 以避免競爭條件。此外,它去掉了所有繁瑣的設(shè)置工作并且可以為你管理 Selenium 會話。

    小 結(jié)

    就像我們看到的,由于引入了新的或改進(jìn)的 JavaScript 框架,Web 開發(fā)變得更加簡單。為了從這些框架獲得最大的利益,你必須定期優(yōu)化性能。

    AngularJS 是構(gòu)建 Web 應(yīng)用的的強大框架,無與倫比。通過提升 AngularJS 的性能,開發(fā)者可以用更少的代碼做更多的事。甚至產(chǎn)生“意大利面條”的風(fēng)險也大大降低。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    9種改善AngularJS性能的方法

    9種改善AngularJS性能的方法:AngularJS 是目前使用非常廣泛的 web app 應(yīng)用框架,隨著它的受歡迎程度持續(xù)上升 ,期待已久的AngularJS 4.0 誕生了。盡管已經(jīng)做了很多優(yōu)化,但幾乎每個 Angular 專家仍然在處理使用 AngularJS 中出現(xiàn)的各種各樣的問題。 目前,企業(yè)使用Web技術(shù)用在他們各
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久精品国产亚洲5555| 九九久久精品无码专区| 亚洲精品欧美日韩| 日韩精品内射视频免费观看| 国产精品内射婷婷一级二| 国内精品久久久人妻中文字幕| 久久精品中文字幕有码| 69堂午夜精品视频在线| 91精品国产综合久久久久久| 日韩精品无码AV成人观看| 人人妻人人澡人人爽精品欧美| 四虎国产精品永久一区| 91精品国产综合久久久久久| 日韩精品乱码AV一区二区| 亚洲欧洲自拍拍偷精品 美利坚| 国产在线国偷精品免费看| 午夜精品视频在线观看| 国产成人亚洲精品| 91国内外精品自在线播放| 久久国产精品99国产精| 中文字幕精品无码久久久久久3D日动漫 | 久久性精品| 9久久9久久精品| 亚洲永久永久永久永久永久精品 | 国内精品久久久久久野外| 国产精品多p对白交换绿帽| 久久精品蜜芽亚洲国产AV| 无码国产精品一区二区免费模式 | 国产精品999| 91精品全国免费观看青青| 国产人妖乱国产精品人妖| 国产精品成熟老女人视频| 国产精品免费无遮挡无码永久视频 | 国产精品亚洲产品一区二区三区| 欧美日韩精品一区二区在线播放| 国产原创精品视频| 99精品久久精品| 精品久久久久久久| 亚洲自偷自偷精品| 国产亚洲精品无码专区| 久久久久国产精品嫩草影院|