首頁  >  文章  >  web前端  >  JavaScript的模組規範有哪些

JavaScript的模組規範有哪些

青灯夜游
青灯夜游原創
2022-02-18 18:30:023196瀏覽

JavaScript的模組規格有:1、CommonJS規格;2、AMD(非同步模組定義)規格;3、CMD(公共模組定義)規格;4、UMD規格(AMD和CommonJS的糅合)。

JavaScript的模組規範有哪些

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

常見的JavaScript 模組化規範有3種,CommonJS、AMD(非同步模組定義)、CMD(公共模組定義)

服務端:NodeJS 服務:CommonJS規範,新版本的Node也可以啟用ES6 Module功能

瀏覽器端:主要使用的是AMD規格與CMD規範,現在已經逐步被ES6 Module取代

模組化規範

#1. CommonJS規格

(1) 每一個檔案都是一個模組,每一個模組都有一個獨立的作用域,檔案內的變數,函數都是私有的,其他檔案不可使用(除非賦值到global上) (2)每個模組內部,module變數代表目前模組 (3)每個檔案對外的介面是 module.exports 屬性 (4) require用來引用其他模組,實際上得到的是其他模組的module.exports這個屬性

#2. AMD(Asynchromous Module Definition - 非同步模組定義)

AMD 是RequireJS 在推廣過程中對模組定義的規範化產出

使用

定義模組 define(id?, dependencies?, factory) 載入模組 require([module], callback)

3. CMD(Common Module Definition - 公共模組定義)

CMD 是SeaJS 在推廣過程中對模組定義的規範化產出

使用

定義模組 define(factory) 載入模組 require(id)

4. UMD(AMD和CommonJS的糅合)

##UMD先判斷是否支援Node.js的模組(exports)是否存在,存在則使用Node.js模組模式。

在判斷是否支援AMD(define是否存在),存在則使用AMD方式載入模組。

(function (window, factory) {
    if (typeof exports === 'object') {
     
        module.exports = factory();
    } else if (typeof define === 'function' && define.amd) {
     
        define(factory);
    } else {
     
        window.eventUtil = factory();
    }
})(this, function () {
    //module ...
});

【相關推薦:

javascript學習教學#

以上是JavaScript的模組規範有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn