最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解Node中module.exports和exports區(qū)別

 更新時(shí)間:2023年03月09日 10:49:13   作者:藍(lán)色海島  
這篇文章主要介紹了一文詳解Node中module.exports和exports區(qū)別

一、當(dāng)使用分別暴露時(shí),module.exports和exports是一樣的

math.js

const add = (a, b) => a + b
const subtract = (a, b) => a - b
module.exports.add = add
module.exports.subtract = subtract

index.js

const math = require('./math')
console.log(math.add(2, 3))
console.log(math.subtract(2, 3))

執(zhí)行 node .\index.js會(huì)打印5和-1

此時(shí),若你在math.js中使用exports分別暴露時(shí)也是可以的:

// module.exports.add = add
// module.exports.subtract = subtract
exports.add = add
exports.subtract = subtract

二、當(dāng)使用統(tǒng)一暴露時(shí),它倆是不一樣的

module.exports的統(tǒng)一暴露

實(shí)際中我們經(jīng)常這樣寫

module.exports = { add, subtract }

此時(shí)執(zhí)行node index還是會(huì)打印5和-1

使用exports同一個(gè)暴露

// module.exports = { add, subtract }
exports = { add, subtract }

此時(shí)再執(zhí)行node index會(huì)報(bào)錯(cuò):

TypeError: math.add is not a function

三、為什么exports可以分別暴露,但不能統(tǒng)一暴露

觀察源碼里這幾句代碼:

const exports = this.exports;  
const thisValue = exports;  
const module = this;

由此可見,exports和module.exports指向同一個(gè)對(duì)象。所以當(dāng)你使用分別暴露時(shí),實(shí)質(zhì)上是給這個(gè)對(duì)象上添加了一個(gè)個(gè)屬性,這兩種方式是同一個(gè)意思。

但是,一旦寫成統(tǒng)一暴露,exports = { add, subtract }改變了exports的指向,切斷了與module.exports之間的引用關(guān)系,exports不再是module.exports的那個(gè)對(duì)象了

四、總結(jié)

  • 一般情況下,我們都會(huì)使用module.exports統(tǒng)一暴露,即導(dǎo)出一個(gè)對(duì)象
  • 如果使用分別暴露,module.exports和exports是一樣的,此時(shí)exports是module.exports的簡(jiǎn)寫,但很少這樣做

以上就是一文詳解Node中module.exports和exports區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于Node module.exports區(qū)別exports的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Node.js數(shù)據(jù)庫鉤子的使用

    Node.js數(shù)據(jù)庫鉤子的使用

    本文主要介紹了Node.js數(shù)據(jù)庫鉤子的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Node.js模塊化的使用詳細(xì)介紹

    Node.js模塊化的使用詳細(xì)介紹

    nodejs中的模塊化是指將每個(gè)js文件會(huì)被認(rèn)為單獨(dú)一個(gè)的模塊。模塊之間是互相不可見的。如果一個(gè)模塊需要使用另一個(gè)模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-08-08
  • nodejs實(shí)現(xiàn)一個(gè)word文檔解析器思路詳解

    nodejs實(shí)現(xiàn)一個(gè)word文檔解析器思路詳解

    這篇文章主要介紹了nodejs實(shí)現(xiàn)一個(gè)word文檔解析器的思路詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • 詳解一個(gè)基于套接字實(shí)現(xiàn)長(zhǎng)連接的express

    詳解一個(gè)基于套接字實(shí)現(xiàn)長(zhǎng)連接的express

    這篇文章主要介紹了詳解一個(gè)基于套接字實(shí)現(xiàn)長(zhǎng)連接的express,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • nw.js實(shí)現(xiàn)類似微信的聊天軟件

    nw.js實(shí)現(xiàn)類似微信的聊天軟件

    本文給大家介紹的是使用nw.js實(shí)現(xiàn)類似微信的聊天軟件,還處于測(cè)試階段,功能非常少,大家一起來添磚加瓦吧。
    2015-03-03
  • nodejs導(dǎo)出excel的方法

    nodejs導(dǎo)出excel的方法

    這篇文章主要介紹了nodejs導(dǎo)出excel的方法,實(shí)例分析了nodejs導(dǎo)出excel的詳細(xì)步驟與相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Node.js之如何構(gòu)建UDP服務(wù)

    Node.js之如何構(gòu)建UDP服務(wù)

    這篇文章主要介紹了Node.js之如何構(gòu)建UDP服務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • 詳解NODEJS的http實(shí)現(xiàn)

    詳解NODEJS的http實(shí)現(xiàn)

    這篇文章主要介紹了詳解NODEJS的http實(shí)現(xiàn)的技術(shù)過程以及詳細(xì)分析,需要的朋友學(xué)習(xí)參考下吧。
    2018-01-01
  • 利用C/C++編寫node.js原生模塊的方法教程

    利用C/C++編寫node.js原生模塊的方法教程

    這篇文章主要給大家介紹了關(guān)于利用C/C++編寫node.js原生模塊的相關(guān)資料,文中將實(shí)現(xiàn)的步驟一步步的介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧。
    2017-07-07
  • 輕松創(chuàng)建nodejs服務(wù)器(4):路由

    輕松創(chuàng)建nodejs服務(wù)器(4):路由

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(4):路由,服務(wù)器需要根據(jù)不同的URL或請(qǐng)求來執(zhí)行不一樣的操作,我們可以通過路由來實(shí)現(xiàn)這個(gè)步驟,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

深圳市| 拉孜县| 云浮市| 许昌市| 定日县| 中超| 邛崃市| 铜陵市| 华蓥市| 民和| 东丽区| 迭部县| 康乐县| 竹北市| 嵩明县| 太白县| 广东省| 启东市| 民和| 荆门市| 科尔| 绵阳市| 潜山县| 乐东| 乐山市| 三河市| 凌云县| 车致| 招远市| 甘泉县| 临泽县| 诸城市| 宁远县| 疏勒县| 鹿泉市| 高邑县| 昔阳县| 永年县| 罗山县| 渝中区| 四子王旗|