node編程中最重要的就是模塊化,import和require都是被模塊化所使用的node
遵循規範:es6
require是AMD規範引入(AMD是依賴前置,預加載);編程
import是es6的一個語法標準,若是要兼容瀏覽器的話必須轉化成es5的語法瀏覽器
調用的時間:babel
require是運行時間,因此require理論上能夠運行在代碼的任何地方模塊化
import是編譯的時候調用,因此必須放在文件開頭函數
本質:ui
require是賦值過程,require的結果是對象、數字,字符串、函數等,再將require的結果賦值給某個變量es5
import是解構過程,可是目前全部的引擎尚未實現import,咱們在弄得中使用的babel支持ES6,也僅僅是將ES6轉義成ES5在執行,import語法會被轉碼爲require對象