node中模块导入导出规则

60 阅读1分钟
  • 导出多个成员-单个分别导出语法: exports.xxx1 = xxx1;exports.xxx2 = xxx2;
  • 导出多个成员-多个一次导出:module.exports = {xxx1:xxx1,xxx2:xxx2}
  • 导出单个成员(值直接拿来用,不需要xxx.xxx的形式使用):module.exports = xxx1
  • 其他说明:
  1. 每个js文件默认为一个模块,每个模块中默认有一个module对象,module对象有一个exports对象,默认值为{}
  2. 使用require关键字引入;示例:require('./foo.js')
  3. 被引入模块中的执行语句会被执行
  4. js文件默认在代码的最后有一句 return module.exports语句,谁来require这个文件,谁就接收到module.exports的值
  5. module.exports默认值为{}
  6. js文件默认包含 var exports = module.exports 语句
  7. 避免给exports赋值使其丢失对module.exports的引用

总结来说:在js文件中给module.exports赋值。它的值就是被引入此文件时获取到的值。无论是基础类型还是对象。需要注意的是默认module.exports和exports指向同个对象。默认值是{}。主动更改exports的指向后,它的值将不再被导出,导出的值从module.exports取。