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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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