美文网首页
exports 、module.exports的区别

exports 、module.exports的区别

作者: 钱英俊真英俊 | 来源:发表于2018-08-15 11:06 被阅读0次
  • exports、module.exports遵守的是CommonJS规范
  • export、export default 是ES的规范

Node 模块遵循的是CommonJS规范,所以Node里使用的是exports 和 module.exports
CommonJS定义的模块分为:模块标识(module)、模块定义(exports)、模块引用(require)

  1. module.exports 初始值为一个空对象 { }
  2. exports 指向的是module.exports 的引用
  3. require 返回的是module.exports 而不是exports
文档解释:
module.exports
exports

即: 为了方便,Node为每个模块提供了一个exports变量,指向module.exports:等同于在每个模块头部有一行这样的命令:

var exports = module.exports

于是可以直接在exports对象上添加方法,表示对外输出的接口,如同在module.exports上添加一样
但如果直接将exports指向另一个变量,就切断了exports和 module.exports之间的联系,require引入的只是module.exports, exports的变化与reqiure引入无关了。

相关文章

网友评论

      本文标题:exports 、module.exports的区别

      本文链接:https://www.haomeiwen.com/subject/dcvibftx.html