ES6之前出現(xiàn)了JS模塊加載的法案隆判,最主要是CommonJS和AMD規(guī)范。CommonJS前者主要應(yīng)用于服務(wù)器俯渤,實(shí)現(xiàn)同步加載呆细,如nodejs。AMD規(guī)范應(yīng)用于瀏覽器八匠,如requirejs,為異步加載絮爷。
import和require區(qū)別
node編程中最重要的思想是模塊化趴酣,import和require都是被模塊化使用
require是運(yùn)行時(shí)調(diào)用,所以可以隨處引入
import是編譯時(shí)調(diào)用坑夯,必須放在文件開(kāi)頭引入岖寞,目前部分瀏覽器不支持,需要用babel把es6轉(zhuǎn)成es5再執(zhí)行
import(es6語(yǔ)法)
ES6模塊主要有倆個(gè)功能:export和import
export用于對(duì)外輸出本模塊(一個(gè)文件可以理解為一個(gè)模塊)變量的接口
import用于在一個(gè)模塊中加載export輸出變量的接口
如以下代碼:
export變量
import加載變量
require(CommandJS規(guī)范 柜蜈,在nodejs中使用)
在nodejs環(huán)境中仗谆,我們采用的是CommandJS模塊規(guī)范,使用require引入模塊淑履,使用module.exports導(dǎo)出接口
如以下代碼:
導(dǎo)出變量
導(dǎo)出????