前端模塊體系

一、CommonJS(NodeJS)

命令:module、exports、require、global

特點(diǎn):commonJS用同步的方式加載模塊

二、AMD(RequireJS)

命令:define()定義模塊,用require()加載模塊

特點(diǎn):異步加載模塊

三、CMD(Sea.js)

命令:define()定義模塊,用require()加載模塊

特點(diǎn);CMD是另一種js模塊化方案,它與AMD很類似,不同點(diǎn)在于:AMD 推崇依賴前置、提前執(zhí)行,CMD推崇依賴就近、延遲執(zhí)行

四、ES6

命令:export(export default)? import

特點(diǎn):靜態(tài)加載模塊

語(yǔ)法特點(diǎn):

1、export 和?export default 模塊引入方式不一樣

2、export語(yǔ)句輸出的接口,與其對(duì)應(yīng)的值是動(dòng)態(tài)綁定關(guān)系,即通過該接口,可以取到模塊內(nèi)部實(shí)時(shí)的值

五、ES6與CommonJS 差異

1、運(yùn)行時(shí)加載: CommonJS 模塊就是對(duì)象;即在輸入時(shí)是先加載整個(gè)模塊,生成一個(gè)對(duì)象,然后再?gòu)倪@個(gè)對(duì)象上面讀取方法,這種加載稱為“運(yùn)行時(shí)加載”

2、編譯時(shí)加載: ES6 模塊不是對(duì)象,而是通過?export?命令顯式指定輸出的代碼,import時(shí)采用靜態(tài)命令的形式。即在import時(shí)可以指定加載某個(gè)輸出值,而不是加載整個(gè)模塊,這種加載稱為“編譯時(shí)加載”。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 系列文章導(dǎo)航 模塊(一) CommonJs,AMD, CMD, UMD 本文參考阮一峰 ES6入門 Module的...
    合肥黑閱讀 6,345評(píng)論 0 4
  • Javascript模塊化編程,已經(jīng)成為一個(gè)迫切的需求。理想情況下,開發(fā)者只需要實(shí)現(xiàn)核心的業(yè)務(wù)邏輯,其他都可以加載...
    zhoulujun閱讀 3,023評(píng)論 0 14
  • 模塊通常是指編程語(yǔ)言所提供的代碼組織機(jī)制,利用此機(jī)制可將程序拆解為獨(dú)立且通用的代碼單元。所謂模塊化主要是解決代碼分...
    MapleLeafFall閱讀 1,254評(píng)論 0 0
  • 前言在 JavaScript 發(fā)展初期就是為了實(shí)現(xiàn)簡(jiǎn)單的頁(yè)面交互邏輯,寥寥數(shù)語(yǔ)即可;如今 CPU、瀏覽器性能得到了...
    前端一菜鳥閱讀 890評(píng)論 0 9
  • 導(dǎo)演:文牧野,主演:徐崢、王傳君、周一圍等。 一部讓人笑中帶淚、直擊人心的電影。當(dāng)游走于道德、法律之間,他最終選擇...
    永遠(yuǎn)年輕的姑娘閱讀 262評(píng)論 0 1

友情鏈接更多精彩內(nèi)容