exports 、module.exports的區(qū)別

  • exports、module.exports遵守的是CommonJS規(guī)范
  • export、export default 是ES的規(guī)范

Node 模塊遵循的是CommonJS規(guī)范,所以Node里使用的是exports 和 module.exports
CommonJS定義的模塊分為:模塊標(biāo)識(shí)(module)、模塊定義(exports)、模塊引用(require)

  1. module.exports 初始值為一個(gè)空對(duì)象 { }
  2. exports 指向的是module.exports 的引用
  3. require 返回的是module.exports 而不是exports
文檔解釋:
module.exports

exports

即: 為了方便,Node為每個(gè)模塊提供了一個(gè)exports變量,指向module.exports:等同于在每個(gè)模塊頭部有一行這樣的命令:

var exports = module.exports

于是可以直接在exports對(duì)象上添加方法,表示對(duì)外輸出的接口,如同在module.exports上添加一樣
但如果直接將exports指向另一個(gè)變量,就切斷了exports和 module.exports之間的聯(lián)系,require引入的只是module.exports, exports的變化與reqiure引入無(wú)關(guān)了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 模塊通常是指編程語(yǔ)言所提供的代碼組織機(jī)制,利用此機(jī)制可將程序拆解為獨(dú)立且通用的代碼單元。所謂模塊化主要是解決代碼分...
    一個(gè)敲代碼的前端妹子閱讀 2,024評(píng)論 8 23
  • 【轉(zhuǎn)】 遵循的模塊化規(guī)范不一樣 模塊化規(guī)范:即為 JavaScript 提供一種模塊編寫(xiě)、模塊依賴和模塊運(yùn)行的方案...
    houruyaogeili閱讀 3,373評(píng)論 0 2
  • 上一章介紹了模塊的語(yǔ)法,本章介紹如何在瀏覽器和 Node 之中加載 ES6 模塊,以及實(shí)際開(kāi)發(fā)中經(jīng)常遇到的一些問(wèn)題...
    emmet7life閱讀 2,892評(píng)論 0 1
  • 模塊通常是指編程語(yǔ)言所提供的代碼組織機(jī)制,利用此機(jī)制可將程序拆解為獨(dú)立且通用的代碼單元。所謂模塊化主要是解決代碼分...
    MapleLeafFall閱讀 1,253評(píng)論 0 0
  • 許多事物在隨著時(shí)間的推移會(huì)改變初衷,本來(lái)要往一個(gè)方向努力的我們,卻最終敗給了時(shí)間和距離,向著不同的方向各自前...
    矯情的自己閱讀 122評(píng)論 0 0

友情鏈接更多精彩內(nèi)容