一位菜鳥的闡述,隨便看看就行node
commonJS是2009年一月由Mozilla推出的規範,其目標是使JS成爲一門全能語言,主要體如今如下幾個方面:webpack
服務端應用程序員
命令行工具web
桌面圖形界面應用編程
混合應用程序(如Titanium和adobe AIR)瀏覽器
主要規範內容包括modules,packages,process env,buffer,IO stream,file system,charset encode,web server gateway interface,socket等。
以此規範爲基礎的node.js由老美程序員Ryan Dahl於同年9月創造,基於Chrome 的V8引擎,使用事件驅動,異步IO模型,適用於開發高效的服務端應用,這標誌着JavaScript模塊化編程正式誕生。因爲瀏覽器爲避免假死,腳本所有采用異步加載方式,致使commonJS規範(同步加載)不兼容瀏覽器環境,須要經過browerify(最近webpack得到青睞)等構建工具進行預編譯(即解析模塊依賴)生成適用於瀏覽器環境運行的腳本。服務器
此規範以另外一種方式解決了瀏覽器模塊化開發問題,相對應的標準實現爲require.js,目前應用普遍。相較於commonJS省去了預編譯過程,可是重用性較差,語法較鬆散不夠緊湊。異步
此規範提出瀏覽器端與服務器端可通用的模塊化解決方案。socket