答案:node
模塊機制有amd,cmd和commonJs機制es6
amd對應的實現是requireJs,cmd對應實現是Seals,CommonJs對應實現是nodeJs瀏覽器
(即函數
amd和cmd針對的是瀏覽器端,而commonJs針對的是服務端ui
amd是預加載,加載同時還會解析代碼;(優勢是快,缺點是加載順序不固定,容易出問題,埋下大坑)es5
cmd是懶加載,加載後暫時不執行代碼,須要時候再執行(優勢是加載順序可控,缺點是加載速度慢)對象
require是amd的加載方式,import是es6中module的加載方式cmd
require在文件任什麼時候候均可以調用,可是import只能放在文件開頭使用,由於它是編譯時就調用,而require是在文件運行時調用編譯
require的本質是將require的結果(其實就是各類對象,數字,函數等等)賦值給某個變量;而import的實質是依賴於node的一種將es6轉碼爲es5的一種加載方式,import最終會被轉碼爲requireclass