在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ CommonJS 規(guī)范
高級
配置文件
CommonJS 規(guī)范
AMD 規(guī)范
安裝
準(zhǔn)備開始
Loader
插件
開發(fā)環(huán)境
故障處理
模塊規(guī)范
前言
使用
什么是 Webpack
現(xiàn)狀

CommonJS 規(guī)范

CommonJS 是以在瀏覽器環(huán)境之外構(gòu)建 JavaScript 生態(tài)系統(tǒng)為目標(biāo)而產(chǎn)生的項目,比如在服務(wù)器和桌面環(huán)境中。

這個項目最開始是由 Mozilla 的工程師 Kevin Dangoor 在2009年1月創(chuàng)建的,當(dāng)時的名字是 ServerJS。

我在這里描述的并不是一個技術(shù)問題,而是一件重大的事情,讓大家走到一起來做決定,邁出第一步,來建立一個更大更酷的東西。 —— Kevin Dangoor's What Server Side JavaScript needs

2009年8月,這個項目改名為 CommonJS,以顯示其 API 的更廣泛實用性。CommonJS 是一套規(guī)范,它的創(chuàng)建和核準(zhǔn)是開放的。這個規(guī)范已經(jīng)有很多版本和具體實現(xiàn)。CommonJS 并不是屬于 ECMAScript TC39 小組的工作,但 TC39 中的一些成員參與 CommonJS 的制定。2013年5月,Node.js 的包管理器 NPM 的作者 Isaac Z. Schlueter 說 CommonJS 已經(jīng)過時,Node.js 的內(nèi)核開發(fā)者已經(jīng)廢棄了該規(guī)范

CommonJS 規(guī)范是為了解決 JavaScript 的作用域問題而定義的模塊形式,可以使每個模塊它自身的命名空間中執(zhí)行。該規(guī)范的主要內(nèi)容是,模塊必須通過 module.exports 導(dǎo)出對外的變量或接口,通過 require() 來導(dǎo)入其他模塊的輸出到當(dāng)前模塊作用域中。

一個直觀的例子:

// moduleA.js
module.exports = function( value ){
    return value * 2;
}
// moduleB.js
var multiplyBy2 = require('./moduleA');
var result = multiplyBy2(4);

CommonJS 是同步加載模塊,但其實也有瀏覽器端的實現(xiàn),其原理是現(xiàn)將所有模塊都定義好并通過 id 索引,這樣就可以方便的在瀏覽器環(huán)境中解析了,可以參考 require1ktiny-browser-require 的源碼來理解其解析(resolve)的過程。

更多關(guān)于 CommonJS 規(guī)范的內(nèi)容請查看 http://wiki.commonjs.org/wiki/CommonJS

上一篇:準(zhǔn)備開始下一篇:現(xiàn)狀