nodeJS——module與module.exports()

這應該是基礎的內容了, 但是寫 vue 寫多了(ES6),慢慢的..我居然老想用ES6的語法來寫nodejs(CommonJS)...,記錄一下

首先做個實現就知道是怎麼回事了

1.就寫這一行代碼,運行查看結果

 

console.log(module);

運行結果

 

{
    id: '.',
    exports: {},
    parent: null,
    filename: 'C:\\Users\\Administrator\\Desktop\\study\\index.js',
    loaded: false,
    children: [],
    paths: [
        'C:\\Users\\Administrator\\Desktop\\study\\node_modules',
        'C:\\Users\\Administrator\\Desktop\\node_modules',
        'C:\\Users\\Administrator\\node_modules',
        'C:\\Users\\node_modules',
        'C:\\node_modules'
    ]
}
  1. 我們可以會得到這樣一個對象, 那麼 module 是哪裏來的?
    在 nodejs 中, 一個模塊就是一個閉包, 大概是這樣一個結構, 所以我們不需要定義就可以直接使用 modeulexports

 

(function (module, exports) {
  // code
})();

區別

console.log(module) 運行結果的代碼中,可以看到 exportsmodule 的一個屬性

  1. 如果使用 module.exports = {} 這是將系統的 exports 重新賦值了

 

module.exports = {
  name: 'jack',
  message: 'hello world'
};
  1. 如果使用 exports.aaa = 'bbb' 這是將 bbb 賦值給 exportsaaa 屬性

 

exports.fun1= () => {
  console.log("hello");
}

exports.fun2= () => {
  console.log("world");
}



作者:鍵來i
鏈接:https://www.jianshu.com/p/089b48df2d9b
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章