自es6以前,JavaScript是天生模塊化缺失的,即缺少類似后端語言的class,
作用域也只以函數(shù)作為區(qū)分。這與早期js的語言定位有關(guān),
作為一個只需要在網(wǎng)頁中嵌入幾十上百行代碼來實現(xiàn)一些基本的交互效果的腳本語言,
確實用不著嚴(yán)格的組織代碼規(guī)范。但是隨著時代的發(fā)展,js承擔(dān)的任務(wù)越來越重,
從原先的script引入幾十行代碼即可的狀態(tài)變成現(xiàn)在多人協(xié)作文件眾多的地步,
管理和組織代碼的難度越來越大,模塊化的需求也越來越迫切。
在此背景下,眾多的模塊化加載器便應(yīng)運而生。

模塊化規(guī)范和實現(xiàn)

前文提到在es6模塊化出現(xiàn)之前,為了解決模塊化的需求,出現(xiàn)了眾多的模塊化機(jī)制例如cmd,amd等。遵循不同規(guī)范有sea.js, require.js等實現(xiàn)。