對(duì)比export/export default以及module.exports/exports 對(duì)比require和import

ES6和nodejs流行之后兽赁,經(jīng)常會(huì)使用export屿良,import,module.exports一類模塊導(dǎo)入導(dǎo)出的語(yǔ)法痘昌,其實(shí)對(duì)于他們的實(shí)際使用場(chǎng)景和區(qū)別我是很暈的,踩了坑才發(fā)現(xiàn)需要區(qū)別它們的使用炬转。

模塊

模塊思想的出現(xiàn)致使我們闊以方便的引入導(dǎo)出代碼辆苔,將一些可復(fù)用的功能封裝導(dǎo)出或引入。所以闊以分享代碼以及實(shí)現(xiàn)復(fù)用性的組件扼劈。

規(guī)范

JS的模塊規(guī)范有CommonJS和AMD兩種驻啤。
CommonJS 用于服務(wù)端,即 nodeJs 加載模塊的方式荐吵。每個(gè)文件就是一個(gè)模塊骑冗,有自己的作用域。在一個(gè)文件里面定義的變量先煎、函數(shù)贼涩、類,都是私有的薯蝎,對(duì)其他文件不可見(jiàn)遥倦。模塊之間通過(guò) require 進(jìn)行加載。

AMD 加載方式用于瀏覽器環(huán)境中占锯,因?yàn)闉g覽器從網(wǎng)絡(luò)加載 JS 有延遲袒哥,無(wú)法像 nodeJs 服務(wù)器環(huán)境一樣直接讀文件缩筛。所以使用 define('moduleName',['dependences'], function(){}) 這種方式定義模塊。

ES6 在語(yǔ)言標(biāo)準(zhǔn)的層面上统诺,實(shí)現(xiàn)了模塊功能歪脏,而且實(shí)現(xiàn)得相當(dāng)簡(jiǎn)單,完全可以取代 CommonJS 和 AMD 規(guī)范粮呢,成為瀏覽器和服務(wù)器通用的模塊解決方案婿失。

服務(wù)器端Nodejs

導(dǎo)入:require
導(dǎo)出:module.exports或exports

瀏覽器端

導(dǎo)入:import或require
導(dǎo)出:export或export default

對(duì)比module.exports與exports

module變量代表當(dāng)前模塊。這個(gè)變量是一個(gè)對(duì)象啄寡,它的exports屬性(即module.exports)是對(duì)外的接口豪硅。加載某個(gè)模塊,其實(shí)是加載該模塊的module.exports屬性挺物。
而exports變量是指向module.exports的懒浮,所以闊以直接在 exports 對(duì)象上添加方法,表示對(duì)外輸出接口识藤。等同于在 module.exports 上添加方法砚著。

function add (flag) {
  return flag + 1
}
module.exports.x = 1
exports.add = add

對(duì)比export與export default

export方法導(dǎo)出一組方法或變量
export default方法導(dǎo)出一個(gè)方法或變量
例如:

// export方法
export const a = 1
export const b = () => {
  console.log('func')
}

//export default方法
const c = {
  a: '1',
  b: function () {}
}
export default c

使用這兩種方式導(dǎo)出的模塊在導(dǎo)入也有區(qū)別

// 對(duì)于export方法導(dǎo)出的模塊
import { a } from './xxx'

// 對(duì)于export default方法導(dǎo)出的模塊
import c from './xxx'

參考于:
https://seekbetter.me/2017/10/28/2017/module.exports%E4%B8%8E%20exports%EF%BC%8C%20export%E5%92%8C%20export%20default,%20import%20%E5%8F%8A%20require%20%E7%9A%84%E5%85%B3%E7%B3%BB/

http://www.reibang.com/p/076f2af97db0

其次,一些語(yǔ)法的書(shū)寫(xiě)闊以瀏覽http://www.infoq.com/cn/articles/es6-in-depth-modules

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痴昧,一起剝皮案震驚了整個(gè)濱河市稽穆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赶撰,老刑警劉巖舌镶,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異豪娜,居然都是意外死亡餐胀,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)瘤载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)否灾,“玉大人,你說(shuō)我怎么就攤上這事鸣奔∧迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵溃蔫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我琳猫,道長(zhǎng)伟叛,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任脐嫂,我火速辦了婚禮统刮,結(jié)果婚禮上紊遵,老公的妹妹穿的比我還像新娘。我一直安慰自己侥蒙,他們只是感情好暗膜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著鞭衩,像睡著了一般学搜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上论衍,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天瑞佩,我揣著相機(jī)與錄音,去河邊找鬼坯台。 笑死炬丸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜒蕾。 我是一名探鬼主播稠炬,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咪啡!你這毒婦竟也來(lái)了首启?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瑟匆,失蹤者是張志新(化名)和其女友劉穎闽坡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體愁溜,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疾嗅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冕象。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片代承。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖渐扮,靈堂內(nèi)的尸體忽然破棺而出论悴,到底是詐尸還是另有隱情,我是刑警寧澤墓律,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布膀估,位于F島的核電站,受9級(jí)特大地震影響耻讽,放射性物質(zhì)發(fā)生泄漏察纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饼记。 院中可真熱鬧香伴,春花似錦、人聲如沸具则。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)博肋。三九已至低斋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間束昵,已是汗流浹背拔稳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锹雏,地道東北人巴比。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像礁遵,于是被迫代替她去往敵國(guó)和親轻绞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容