亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                前端JavaScript – 關(guān)于CJS,AMD,UMD,ESM,看這里一次性搞懂

                前端JavaScript - 關(guān)于CJS,AMD,UMD,ESM,看這里一次性搞懂

                看了不少關(guān)于這個話題的文章,很多都說不清楚,老是Get不到重點(diǎn)。下面就把他們總結(jié)一下,讓大家不再疑惑。

                開始的時候,JavaScript沒有import/export 模塊的方法。這是個很大的問題,想想如果現(xiàn)在讓你把所有代碼寫在一個文件里,會是什么情況,你愿意去維護(hù)么?

                然后一些天才想了不同的方法把模塊系統(tǒng)引入了JavaScript。最出名的就是這些,CJS, AMD, UMD, ESM

                下面來從這些方面一一介紹他們:語法,目的和基本的行為。

                CJS

                CJS是CommonJS的縮寫。它看起來像下圖:

                • 如果你用過Node.js的話,應(yīng)該很熟悉這種語法,它就是Node.js的模塊系統(tǒng)
                • CJS是同步引入模塊
                • 你可以從一個文件,或者node_modules引入模塊,下面兩種都可以
                • 當(dāng)使用CJS引入,它會給你一個被引入對象的拷貝
                • CJS不被瀏覽器支持,只能用于后端。如果要在前端使用,必須要先被編譯和打包。

                AMD

                AMD是Asynchronous Module Definition的縮寫。示例代碼如下:

                或者

                • AMD是通過異步的方式引入模塊的
                • AMD是為前端設(shè)計的
                • AMD 語法不如 CJS 直觀

                UMD

                UMD是Universal Module Definition的縮寫,示例代碼如下:

                • UMD可以在前端和后端同時工作。(估計這就是Universal的由來吧,通用)
                • UMD更像是一種配置多個模塊系統(tǒng)的模式。
                • UMD通常用于打包工具打包后的代碼實(shí)現(xiàn),比如Rollup/Webpack之類的

                ESM

                ESM代表EcmaScript Module。它是JavaScript規(guī)范最新提出的模塊系統(tǒng)。你肯定見過這種樣子的代碼:

                • ESM被現(xiàn)代瀏覽器原生支持
                • 它語法簡單(像CJS),并且是異步導(dǎo)入(像AMD),有它倆共同的優(yōu)點(diǎn)
                • 由于ES6的靜態(tài)模塊結(jié)構(gòu),它可以做Tree-shakeable。那些打包工具,比如Rollup可以幫你刪掉無用代碼,這樣你就能得到更精簡的build,從而提高性能。
                • 它還可以被使用在HTML里,比如下面這樣

                總結(jié)

                • ESM 是最好的模塊系統(tǒng)。它語法簡單,原生異步并且可以Tree-shakeable
                • UMD 前后端通用,可以作為不支持ESM環(huán)境的替代系統(tǒng)。
                • CJS 是同步的,可以在后端使用。
                • AMD 是異步的,可以在前端使用。
                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月20日 13:24
                下一篇 2022年6月20日 13:24

                相關(guān)推薦

                • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

                  極目新聞記者王亮亮黃佳琪 據(jù)??怂剐侣劸W(wǎng)報道,當(dāng)?shù)貢r間11月21日,已故籃球巨星科比·布萊恩特的長女娜塔莉亞·布萊恩特21日向法院提交臨時限制令,聲稱這位32歲的前科從十幾歲起就騷…

                  2022年11月24日
                • 免費(fèi)清理c盤的軟件(清理c盤空間不影響系統(tǒng))

                  電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長時間沒有打掃C盤,打開文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時候呢不要去…

                  2022年11月24日
                • 華為手機(jī)怎么掃一掃連接wifi(手機(jī)掃一掃在哪里)

                  手機(jī)瀏覽器可以用來瀏覽網(wǎng)頁、看新聞、看視頻,還能搜索問題,在我們的工作生活中瀏覽器占據(jù)著非常重要的位置。手機(jī)瀏覽器除了這些作用,其實(shí)它隱藏著其他功能,比如:掃一掃。掃一掃可不只是用…

                  2022年11月24日
                • ipad怎么刷機(jī)(ipad怎么刷機(jī)重新激活)

                  今天小編給各位分享ipad怎么刷機(jī)的知識,其中也會對ipad怎么刷機(jī)重新激活進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! ipad密碼忘了怎么刷機(jī)? ip…

                  2022年11月24日
                • pdf虛擬打印機(jī)(添加pdf虛擬打印機(jī))

                  本文主要講的是pdf虛擬打印機(jī),以及和添加pdf虛擬打印機(jī)相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 pdf虛擬打印機(jī)具體是什么功能? 電腦虛擬打印機(jī)的功能有…

                  2022年11月24日
                • 大疆發(fā)布DJI O3 Air Unit圖傳解決方案 售價1499元

                  大疆日前發(fā)布了最新的DJI O3 Air Unit 數(shù)字圖傳解決方案,該方案將DJI O3+ 圖傳與1/1.7 英寸影像傳感器相機(jī)模塊集于一身,具有高畫質(zhì)、低延時、遠(yuǎn)距離等特點(diǎn)。 …

                  2022年11月23日
                • win11怎么退回win10 win11怎么還原到win10

                  許多朋友在更新完win11后發(fā)現(xiàn)使用起來不方便,而且有不少漏洞和bug,有時候還會出現(xiàn)卡頓,因此想要還原到win10系統(tǒng),但是不知道是否可以還原,下面就跟著小編一起來操作一下吧。 …

                  2022年11月22日
                • 分享2大類微信引流軟件(不花錢的微信引流軟件都有哪些)

                  不花錢的微信引流軟件之前介紹了不少節(jié)省社群運(yùn)營精力、提高社群運(yùn)營效率的方法,今天主要給大家推薦一些簡單好用的工具。 大家首先要掌握尋找工具的方法,因?yàn)楣ぞ呖赡芤驗(yàn)槠脚_封禁等原因不能…

                  2022年11月22日
                • 笑死!華人推特員工陪馬斯克熬夜加班后光速被裁

                  買下推特后,埃隆?馬斯克對其進(jìn)行了大刀闊斧的改革。今日早間,他還發(fā)布推文,貼出了他凌晨大約 1 點(diǎn) 30 分在推特舊金山總部與工程師們的合影。他表示剛與推特工程師們審查完代碼。正準(zhǔn)…

                  2022年11月21日
                • ios16.1.1續(xù)航怎么樣 ios16.1.1耗電信號問題改善了沒

                  ios系統(tǒng)雖然好用,但是它的續(xù)航信號總是被人吐槽,以至于每次系統(tǒng)升級,用戶對于信號和續(xù)航還要發(fā)熱問題都非常關(guān)心,最新推送的ios 16.1.1怎么樣呢,續(xù)航、信號及發(fā)熱改善了嗎,別…

                  2022年11月21日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息