一桅咆、CommonJS 應用:node.js
1,四個環(huán)境變量:module,exports,require,global.
2,用module.exports定義當前模塊對外輸出的接口(不推薦直接用exports)
用require加載模塊
module.exports= {
add,
...
}
總結(jié):commonjs用同步的方式加載模塊功戚。
在服務端,模塊文件都存在本地磁盤谎痢,讀取非常快,所以不會有問題,但是在瀏覽器端痹雅,限于網(wǎng)絡原因,更合理的方案是使用異步加載
二糊识、AMD和require.js
總結(jié):異步方式加載模塊
AMD推崇依賴前置绩社、提前執(zhí)行
三摔蓝、CMD和sea.js
CMD推崇依賴就近,延遲執(zhí)行
四愉耙、es6 module
瀏覽器和服務器通用的模塊解決方案
模塊功能:export 和 import 和 export default
export命令用于規(guī)定模塊的對外接口
import命令用于輸入其他模塊提供的功能
export default為模塊指定默認輸出贮尉,對應的import不需要指定加載的變量名和函數(shù)名
五、es6模塊與commonjs模塊的差異
1朴沿、commonjs模塊輸出的是一個值的拷貝猜谚,es6模塊輸出的是值的引用
2、commonjs模塊是運行時加載赌渣,es6模塊是編譯時輸出接口