13306647218

                公司動態

                Company dynamics

                新手學習web前端需要如何進行模塊化

                作者:藍夢seo專業企業網站優化時間:2020-07-13 13:46:03

                學習Web前端時應注意什么?如何學習JS模塊化編程? JavaScript是前端的三個元素之一,也是許多Web前端新手遇到的第一個絆腳石。許多學生說,JavaScript涵蓋的知識太多,太復雜,應用程序也太多樣化了。但是,只要我們從基礎到高級學習一點,我們就能很好地學習JavaScript,然后千峰小編將分享有關JavaScript模塊化編程的知識。

                模塊是實現特定功能的一組方法。模塊化是一種規范和約束。這樣的約束將大大提高開發效率。 JS模塊化的思想是將每個JS文件視為一個模塊,并以固定的方式引入每個模塊,并將指定的內容以固定的方式暴露給外部。

                模塊化需要實現的功能

                1.解決命名沖突。當代碼達到一定大小并具有許多功能時,將發生命名沖突。模塊化可以很好地解決命名沖突的問題。

                2.實施依賴關系管理。當一個頁面需要加載多個JS并且其中一些仍具有依賴關系時,您需要仔細排列這些JS的順序以確保每個組件都能正常運行,并且在模塊化之后無需這樣做。煩。

                3.提高重用性和代碼可讀性。功能是一個模塊。每個模塊彼此獨立,互不影響。代碼組件包可以重復使用。卸下此模塊不會影響其他模塊。

                JavaScript模塊化發展

                閉包與命名空間

                這是最容易想到的解決方案。在提出模塊化概念之前,許多人已經使用閉包來解決變量名和污染的問題。這樣,每個JS文件都使用IIFE進行包裝,并且每個JS文件在不同的詞法范圍內彼此隔離,最后變量通過閉包公開。每個閉包是一個單獨的文件,每個文件仍作為腳本標簽下載,并且標簽的順序是模塊的依存關系。

                面向對象開發

                此方法僅是對封閉方法的小改進。約束js文件必須返回一個對象,該對象實際上是方法和屬性的集合。這樣的優點是:1)標準化的輸出,更加統一和方便相互依賴和參考; 2)使用“類”方法進行開發,這有助于擴展后續依賴項。從本質上講,此方法只是對閉包方法的正式約束,不會進行任何根本性的更改。

                YUI

                由Yahoo生產的工具。模塊化管理只是其中的一部分。它還具有性能優化工具,例如JS壓縮,混淆和請求合并(需要服務器端合作以進行資源合并)。鼻祖。通過YUI全局對象來管理不同的模塊,所有模塊只是該對象上的不同屬性,這等效于操作系統上運行的不同程序。

                CommonJs

                2009年,發布了Nodejs。 Commonjs發布后,它成為Node中的標準模塊化管理工具。同時,Node還啟動了npm軟件包管理工具。 npm平臺上的軟件包均符合Commonjs規范。隨著Node和npm的發展,Commonjs的影響力越來越大,它促進了以下模塊化工具的發展。它是具有里程碑意義的模塊化工具。

                AMD和RequireJS

                AMD是'AsynchronousModuleDefinition'的縮寫,表示'異步模塊定義'。它以異步方式加載模塊。模塊的加載不會影響其后的語句的執行。依賴此模塊的所有語句都在回調函數中定義。直到所有依賴項都已加載(預依賴項),此回調函數才會運行。

                RequireJs是用于JS的模塊化工具框架,也是AMD規范的具體實現。但是有趣的是,在RequireJs誕生之后,AMD規范在升級過程中產生了。 RequireJs的優點:1)并行動態加載js并依賴于預加載,無需考慮js加載順序; 2)核心是注入變量的沙箱編譯,以解決模塊化問題; 3)標準化的輸入輸出,使用方便; 4)可以很好地兼容不符合AMD規范的文件。

                CMD和SeaJs

                CMD規范誕生于中國(阿里巴巴)。它借鑒了Commonjs規范和AMD規范,并在兩者的基礎上進行了改進。功能:1)定義模塊,需要加載模塊,并導出暴露變量; 2)與AMD的依賴關系前提不同,CMD尊重附近的依賴關系(需要時重新加載); 3)尊重單一的api功能,一個模塊做一件事。

                SeaJs是CMD規范的實現。與RequireJs相似,CMD也是SeaJs推廣期間誕生的規范。 CMD利用了AMD和Commonjs的許多優勢。同樣,SeaJs也與AMD和Commonjs具有很多兼容性。

                ES6中的模塊化

                模塊化最終包含在ES6規范的JavaScript標準中。從那時起,JS模塊化已得到正式糾正,并且也是未來JS的標準。 ES6中的模塊化與Commonjs不同。添加了關鍵字import,export,default,as和from,而不是全局對象。兩者之間有兩個主要區別:1)CommonJS模塊輸出值的副本,ES6模塊輸出對值的引用; 2)CommonJS模塊在運行時加載,而ES6模塊在編譯時是輸出接口。

                小編是一位擁有5年工作經驗的建筑師。關于Web前端,他親自完成了材料的集成,這是學習Web前端,學習材料和工具的完整途徑。有需要的合作伙伴可以私下給我寫信,并在發送“前端”后3秒鐘內獲得托收地址,并將其免費提供給所有人。如果您對學習網絡前端有任何疑問(學習方法,學習效率,如何找到工作),可以問我。希望您能通過自己的努力成為下一個杰出的程序員!

                如果您想了解有關JavaScript的模塊化知識的更多信息,可以選擇專業學習。如果您想快速地掌握前端開發人員從基礎到高級的逐層開發所需的技能,則可以選擇專業的學習,讓您高效學習,畢業后輕松獲得高薪!

                女人18毛片水真多免费看