1、無(wú)規(guī)范
一個(gè)文件一個(gè)模塊震鹉,缺點(diǎn)污染全局作用域俱笛。
2、CommonJS
Node传趾,Webpack支持
一個(gè)文件一個(gè)模塊迎膜,模塊變量不污染全局變量。
通過(guò)require來(lái)同步加載所依賴模塊浆兰。
通過(guò)exports或者module.export導(dǎo)出需要暴露的接口磕仅。
服務(wù)器端從本地磁盤加載文件,同步加載沒(méi)有問(wèn)題簸呈,但同步加載不適合瀏覽器榕订。
3、AMD
非同步加載蜕便,允許回調(diào)函數(shù)劫恒。require.js 實(shí)現(xiàn)了AMD規(guī)范。
兩個(gè)API:
require([module],callback)
define(id,[depends],callback)
也支持CommonJS的模塊導(dǎo)出
缺點(diǎn)不能按需加載轿腺,而且必須提前加載所有依賴两嘴。
4、CMD
sea.js庫(kù)實(shí)現(xiàn)的規(guī)范族壳,可以按需加載憔辫,依賴就近。
5仿荆、ES6 Module
Import
export