RequireJS & SeaJS

在 模塊化開發(fā) 開發(fā)以前,都是直接在頁面上引入 script 標(biāo)簽來引用腳本的,當(dāng)項(xiàng)目變得比較復(fù)雜,就會(huì)帶來很多問題。

  • JS項(xiàng)目中的依賴只有通過引入JS的順序來確定,項(xiàng)目會(huì)變得復(fù)雜難以維護(hù)。

  • 復(fù)雜的腳本會(huì)暴露很多全局變量, 比如 $,_. ... 。

  • 同步加載的時(shí)候,網(wǎng)頁會(huì)停止渲染,加載時(shí)間越長(zhǎng),網(wǎng)頁失去響應(yīng)的事件就越長(zhǎng)。

于是,AMD 規(guī)范就誕生了,AMD 即為異步模塊定義,有效避免同步加載導(dǎo)致頁面的假死現(xiàn)象。RequireJS 是一個(gè) AMD 的實(shí)現(xiàn),后來還有CMD規(guī)范,玉伯的 而SeaJS 是 CMD 的一個(gè)實(shí)現(xiàn),兩者最大的區(qū)別就是

RequireJS 是預(yù)加載,而sea.js 是懶加載,也就是按需加載

什么意思 ??

網(wǎng)友評(píng)論