2 回答

TA貢獻(xiàn)2條經(jīng)驗 獲得超5個贊
import?是 ES6?的模塊化語法,require()?在好幾種模塊規(guī)范中都有使用。在 Node?中,import?和 require()?的作用和行為基本上都是一致的,都是以阻塞方式載入模塊。不過 import?語法比較靈活,可以導(dǎo)入模塊中的所有導(dǎo)出內(nèi)容或者部分導(dǎo)出內(nèi)容,具體可以參考 MDN?上的介紹(搜索“import MDN”就好),require()?則是導(dǎo)入整個模塊對象,不能僅導(dǎo)入部分內(nèi)容。import/export 語法可以翻譯成 require()?語法,而且?Node 8.6?以后已經(jīng)支持 import/export(體驗?zāi)J剑?,但在處理?Node、Babel?和 TypeScript?等技術(shù)的處理方式還略有不同。

TA貢獻(xiàn)7條經(jīng)驗 獲得超4個贊
剛剛看到一篇手記還熱乎呢,樓主可以參考這個http://idcbgp.cn/article/22371,簡單羅列
require 是賦值過程并且是運(yùn)行時才執(zhí)行, import 是解構(gòu)過程并且是編譯時執(zhí)行。require可以理解為一個全局方法,所以它甚至可以進(jìn)行下面這樣的騷操作,是一個方法就意味著可以在任何地方執(zhí)行。而import必須寫在文件的頂部。
require的性能相對于import稍低,因為require是在運(yùn)行時才引入模塊并且還賦值給某個變量,而import只需要依據(jù)import中的接口在編譯時引入指定模塊所以性能稍高
3.在commom.js 中module.export 之后 導(dǎo)出的值就不能再變化,但是在es6的export中是可以的。
添加回答
舉報