通過RequireJS實現(xiàn):
RequireJS優(yōu)點:
1.異步“加載”套啤。我們知道宽气,通常網(wǎng)站都會把script腳本的放在html的最后,這樣就可以避免瀏覽器執(zhí)行js帶來的頁面阻塞潜沦。使用RequireJS萄涯,會在相關(guān)的js加載后執(zhí)行回調(diào)函數(shù),這個過程是異步的唆鸡,所以它不會阻塞頁面涝影。
2.按需加載。通過RequireJS争占,你可以在需要加載js邏輯的時候再加載對應(yīng) 的js模塊燃逻,這樣避免了在初始化網(wǎng)頁的時候發(fā)生大量的請求和數(shù)據(jù)傳輸,或許對于一些人來說臂痕,某些模塊可能他根本就不需要伯襟,那就顯得沒有必要。
3.更加方便的模塊依賴管理刻蟹。相信你曾經(jīng)一定遇到過因為script標簽順序問題而導(dǎo)致依賴關(guān)系發(fā)生錯誤逗旁,這個函數(shù)未定義,那個變量undefine之類的舆瘪。通過RequireJS的機制片效,你能確保在所有的依賴模塊都加載以后再執(zhí)行相關(guān)的文件,所以可以起到依賴管理的作用英古。
4.更加高效的版本管理淀衣。想一想,如果你還是用的script腳本引入的方式來引入一個jQuery2.x的文件召调,然后你有200個頁面都是這么引用的膨桥,那當你想換成jQuery3.x,那你就不得不去改這200個頁面唠叛。但是如果你的requireJS有在config中做jQuery的path映射只嚣,那你只需要改一處地方即可。