日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Node.js学习之(第二章:exports和module.exports)

發布時間:2023/11/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Node.js学习之(第二章:exports和module.exports) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Node中,每個模塊都有一個exports接口對象,我們需要把公共的方法或者字符串掛載在這個接口對象中,其他的模塊才可以使用。

Node.js中只有模塊作用域,默認兩個模塊之間的變量,方法互不沖突,互不影響,這樣就導致一個問題,我們怎樣使用加載進來的模塊中的方法呢?這就需要在另外一個模塊exports接口對象中掛載模塊中公共的方法。

  • exports
  • 我們在a.js中有以下代碼:

    let foo = 'hello' function add (x, y) {return x+y } exports.add = add // 在接口對象中掛載公共的add方法 exports.foo = foo // 在接口對象中掛載foo屬性 復制代碼

    此時,在b.js中如果需要使用add方法,只需引入a.js即可。b.js代碼如下:

    let a = require('./a.js') // a.js和b.js在同級目錄下,注意:同級目錄必須加“./”console.log(a.add(20,30)) // 使用a.js中的add方法 復制代碼

    最后我們看到的效果如下:

    相反,如果我們沒有在a.jsexports接口對象中掛載add方法,那么這里就得不到結果。

  • module.exports
  • 對于1中的例子,我們同樣可以利用module.exports來寫,只需把暴露的方式改成如下:

    module.exports.add = add module.exports.foo = foo 復制代碼

    最終得到的效果是一樣的:

    總結

  • Node中每個模塊都有一個module對象,module對象中的有一個exports屬性為一個接口對象,我們需要把模塊之間公共的方法或屬性掛載在這個接口對象中,方便其他的模塊使用這些公共的方法或屬性。

  • Node中每個模塊的最后,都會return: module.exports。

  • Node中每個模塊都會把module.exports指向的對象賦值給一個變量exports,也就是說:exports = module.exports。

  • module.exports = XXX,表示當前模塊導出一個單一成員,結果就是XXX。

  • 如果需要導出多個成員時必須使用exports.add = XXX; exports.foo = XXX;或者使用module.exports.add = XXX; module.export.foo = XXX;。

  • 說明

    本倉庫是自己Node.js學習過程的真實記錄,以后會每天更新一些新的知識點,希望可以對想要學Node.js的同學有一些幫助,歡迎star,你們的點贊是我更新的持久動力。同時如果你覺得本倉庫中的一些知識點有錯誤也可以issue我,方便后期我訂正!

    本倉庫同時在博客園和掘金更新,歡迎寫博客的朋友一起學習交流。

    博客園

    找我

    掘金

    找我

    GitHub

    找我

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Node.js学习之(第二章:exports和module.exports)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。