摘要:而前端要使用模塊化的原因或者要解決的問題就是解決命名沖突管理依賴提高代碼的可復用性相關模塊化規范常見的規范有規范規范是在推廣過程中對模塊定義的規范化產出,主要用于瀏覽器端。目前的各類全局變量都可以模塊化。
開發中明顯可以感覺到加載一個HTML需要依賴很多的JS文件依賴,比如到一定階段的HTML頁面,尾部就是這樣的:
隨著所需功能越來越多,我們就需引入更多的JS依賴和CSS依賴,有時還會面臨著一個文件不夠需要拆分成幾個文件的情況。因此可能會遇到以下幾點問題:
管理依賴會成為一個很費時的工作,很可能引入的文件順序出現錯誤前端交互就不可以使用了。
當頁面加載的時候所有依賴會被全部同步加載,這樣也很難實現所有依賴按需加載的高級功能。
在團隊協作開發中,出現管理全局變量,變量命名空間困難的問題。
而前端要使用模塊化的原因或者要解決的問題就是:
解決命名沖突
管理依賴
提高代碼的可復用性
相關模塊化規范常見的規范有 CMD、AMD、CommonJS 規范
CMD規范(Common Module Definition):是sea.js在推廣過程中對模塊定義的規范化產出,主要用于瀏覽器端。它主要特點是:對于依賴的模塊是延遲執行,依賴可以就近書寫,等到需要用這個依賴的時候再引入這個依賴。
AMD規范(Asynchronous Module Definition):是 RequireJS 在推廣過程中對模塊定義的規范化產出,也是主要用于瀏覽器端。其特點是:依賴前置,需要在定義時就寫好需要的依賴,提前執行依賴。
CommonJS規范是在服務器端模塊的規范,是同步加載的,應用有node.js。
ES6 助推了前端模塊化,import語法會被JavaScript引擎靜態分析,這是一個很重要的功能,我們通常使用CommonJS時,代碼都是在運行時加載的,而ES6是在編譯時就引入模塊代碼,當然我們現在的瀏覽器還沒有這么強大的功能,需要借助各類的編譯工具(webpack)才能正確的姿勢來使用ES6的模塊化的功能。也正因為能夠編譯時就引入模塊代碼,所以使得靜態分析就能夠實現了。
ES6模塊化的優點有
靜態化編譯。如果能夠靜態化,編譯的時候就能確定模塊的依賴關系,以及輸出和輸入的變量。CommonJS和AMD/CMD都只能在運行代碼時才能確定這些關系。
不需要特殊的UMD模塊化格式(Universal Module Definition(通用模塊規范)是由社區想出來的一種整合了CommonJS和AMD兩個模塊定義規范的方法)。不再需要UMD模塊的格式,將來服務器和瀏覽器都會支持ES6模塊格式。目前各種工具庫(webpack)其實已經做到這一點了。
目前的各類全局變量都可以模塊化。比如navigator現在是全局變量,以后就可以模塊化加載。這樣就不再需要對象作為命名空間。
參考鏈接:javascript模塊化之CommonJS、AMD、CMD、UMD、ES6
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106951.html
摘要:比如以為例,一個組件,包括一個文件一個文件圖片組件在中便可如下加載使用導出為對象的模塊化其實,還有另外一種思路,就是將內置中,成為的一部分。 CSS 模塊化 CSS(Cascading Style Sheets),從誕生之初就決定了它無法編程,甚至連解釋性語言都算不上,只能作為一種簡單的層疊樣式表,對 HTML 元素進行格式化。 但隨著前端的發展,前端項目已經變得越來越龐大和復雜,社區...
摘要:比如以為例,一個組件,包括一個文件一個文件圖片組件在中便可如下加載使用導出為對象的模塊化其實,還有另外一種思路,就是將內置中,成為的一部分。 CSS 模塊化 CSS(Cascading Style Sheets),從誕生之初就決定了它無法編程,甚至連解釋性語言都算不上,只能作為一種簡單的層疊樣式表,對 HTML 元素進行格式化。 但隨著前端的發展,前端項目已經變得越來越龐大和復雜,社區...
摘要:組件化開發的優點。可以很大程度的降低系統各個功能的耦合性,并且提高了功能內部的聚合性。耦合性的降低,提高了系統的伸展性,降低了開發的復雜度,提升開發效率,降低開發成本。這個是前端組件開發需要處理的難點。 如今前端技術飛速發展,基本是基于三大框架開發的SPA(單頁面應用)。本文主要是總結一下組件化開發思想重要點。 組件化可以幫助解決前端結構的復用性問題,整個頁面可以由不同的組件組合、嵌...
摘要:組件化開發的優點??梢院艽蟪潭鹊慕档拖到y各個功能的耦合性,并且提高了功能內部的聚合性。耦合性的降低,提高了系統的伸展性,降低了開發的復雜度,提升開發效率,降低開發成本。這個是前端組件開發需要處理的難點。 如今前端技術飛速發展,基本是基于三大框架開發的SPA(單頁面應用)。本文主要是總結一下組件化開發思想重要點。 組件化可以幫助解決前端結構的復用性問題,整個頁面可以由不同的組件組合、嵌...
閱讀 2692·2023-04-25 19:13
閱讀 4010·2021-09-22 15:34
閱讀 3053·2019-08-30 14:23
閱讀 1462·2019-08-29 17:17
閱讀 1603·2019-08-29 16:05
閱讀 1537·2019-08-29 13:26
閱讀 1218·2019-08-29 13:19
閱讀 553·2019-08-29 13:16