nodejs中exports和module.exports的区别

在nodejs中是通过module.exports导出模块,每个文件都有一个module对象,其中有一个成员对象exports,如下:

modeule.exports = {
    exports : {
    }
}
return module.exports;
所以最后导出的是module.exports

而exports只是module.exports的一个引用,

 

    相当与在页面开始有这样一行代码:

 

let exports = module.exports;                

所以在导出页面数据成员时可以有如下导出方法:

//导出单个成员
module.exports = 'hello'
//或
module.exports = {
    foo: "bar"
}
上面这种方式可以直接得到当前模块导出的成员变量,不需要使用'.'访问,
但是一个页面只能有一个module.exports直接赋值,否则后面的会覆盖前面的 

 

//导出多个成员
exports.add = function() {}
exports.foo = function() {}
exports.bar = 'hello';
//或者
module.exports = {
    add: function() {},
    foo: "bar"
}
//或者
module.exports.add = function() {}
module.exports.foo = function() {}
module.exports.bar = 'hello';

 

注意点:不能直接给exports赋值,会断开它对module.exports的引用

 

            当给module.exports赋值的时候,之后通过exports挂载成员变量也不会起作用

            除非再次添加引用:exports = module.exports之后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值