小編給大家分享一下JavaScript有哪些模塊規(guī)范,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
鄖西ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
JavaScript的模塊規(guī)范有:1、CommonJS規(guī)范;2、AMD(異步模塊定義)規(guī)范;3、CMD(公共模塊定義)規(guī)范;4、UMD規(guī)范(AMD和CommonJS的糅合)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
常見的JavaScript 模塊化規(guī)范有3種,CommonJS、AMD(異步模塊定義)、CMD(公共模塊定義)
服務(wù)端 :NodeJS 服務(wù):CommonJS規(guī)范,新版本的Node也可以啟用ES6 Module功能
瀏覽器端:主要使用的是AMD規(guī)范和CMD規(guī)范,現(xiàn)在已經(jīng)逐步被ES6 Module取代
1. CommonJS規(guī)范
(1) 每一個文件都是一個模塊,每一個模塊都有一個獨立的作用域,文件內(nèi)的變量,函數(shù)都是私有的,其他文件不可使用(除非賦值到 global上) (2)每個模塊內(nèi)部,module變量代表當(dāng)前模塊 (3)每個文件對外的接口是 module.exports 屬性 (4) require用于引用其他模塊,實際獲得的是其他模塊的module.exports這個屬性
2. AMD(Asynchromous Module Definition - 異步模塊定義)
AMD 是 RequireJS 在推廣過程中對模塊定義的規(guī)范化產(chǎn)出
使用
定義模塊 define(id?, dependencies?, factory) 加載模塊 require([module], callback)
3. CMD(Common Module Definition - 公共模塊定義)
CMD 是 SeaJS 在推廣過程中對模塊定義的規(guī)范化產(chǎn)出
使用
定義模塊 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有哪些模塊規(guī)范”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!