AMD/CMD/CommonJS到底是什么?
一、三者相同點(diǎn)
同為JS模塊化開(kāi)發(fā)的標(biāo)準(zhǔn)银觅。
CommonsJS---nodeJs---服務(wù)端規(guī)范
AMD---RequireJs---瀏覽器端規(guī)范坚嗜,老大
CMD---SeaJS---瀏覽器端規(guī)范,小三
二旧找、AMD和CMD區(qū)別
AMD:
- 預(yù)加載,并行加載JS時(shí)麦牺,還會(huì)解析改模塊钮蛛,所以要將需要的模塊提前加載出來(lái)。
- 提前執(zhí)行剖膳,依賴(lài)前置
- 優(yōu)點(diǎn):加載快速魏颓,并行解析,同時(shí)可以解析多個(gè)文件
- 缺點(diǎn):并行加載吱晒,一步處理甸饱,加載順序不確定,容易引起bug
CMD:
- 懶加載枕荞,雖然開(kāi)始會(huì)并行加載JS柜候,但是不會(huì)執(zhí)行搞动,而是在需要的時(shí)候執(zhí)行。
- 延后執(zhí)行渣刷,依賴(lài)就近
- 優(yōu)點(diǎn):js執(zhí)行文件順序是可控的
- 缺點(diǎn):執(zhí)行等待時(shí)間會(huì)累加鹦肿,多文件時(shí)最明顯