JavaScript的模組規格有:1、CommonJS規格;2、AMD(非同步模組定義)規格;3、CMD(公共模組定義)規格;4、UMD規格(AMD和CommonJS的糅合)。
本教學操作環境: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的模組規範有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!