免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

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

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

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

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

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

      下面來(lái)從這些方面一一介紹他們:語(yǔ)法,目的和基本的行為。

      CJS

      CJS是CommonJS的縮寫。它看起來(lái)像下圖:

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

      AMD

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

      或者

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

      UMD

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

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

      ESM

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

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

      總結(jié)

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

      相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        2022年11月21日
      • ios16.1.1續(xù)航怎么樣 ios16.1.1耗電信號(hào)問(wèn)題改善了沒(méi)

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

        2022年11月21日

      聯(lián)系我們

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