js模塊化提供了三種規範前端
一、commonjs規範,表明就是node.js 它是運行在服務器端的,適合後臺開發,它不適合前端,由於前端的客戶端是瀏覽器,瀏覽器追求異步加載,等待時間不能太長,若是非要運行在瀏覽器,則須要藉助打包工具進行打包,解析node
二、前端模塊化的規範是AMD規範,全程叫async module defintion 異步模塊加載機制es6
三、第三個模塊化規範是es6數組
簡單說下commonjs吧瀏覽器
comminjs是node的規範,但他是同步加載的,同步加載在瀏覽器是有弊端的,只要一個環節卡住了,後面的就無法執行。服務器
模塊化都是兩個方向:異步
1是暴露模塊 module.exports={} 本質就是暴露的是一個exports對象async
2引入模塊 require模塊化
上面說過,它是後臺的規範,是運行在服務器端的。函數
自定義模塊:
什麼是自定義模塊,顧名思義,就是本身本身寫的模塊,不依賴任何規範。
下面我舉個例子
AMD規範的模塊化:
require()函數接受兩個參數:
——第一個參數是一個數組,表示所依賴的模塊;
——第二個參數是一個回調函數,當前面指定的模塊都加載成功後,它將被調用。加載的模塊會以參數形式傳入該函數,從而在回調函數內部就能夠使用這些模塊