node中module.exports和exports的使用及区别

// module.exports的使用.js文件

// module.exports与exports指针指向同一个空对象,也就是说module.exports===exports

// module.exports与exports区别说明
// 1.使用require导入模块时,得到的永远是module.exports指向的对象,也就是说不管exports暴露的对象是什么,module.exports没有暴露对象,那么使用require导入模块时得到的是空对象
// exports = {
//     userName:"绫小路",
//     say(){
//         console.log('欢迎来到实力至上主义的教室');
//     }
// }
// 2.如果既有module.exports又有exports的时候,就会以module.exports暴露的对象为准,也就是说module.exports权重更高一点
// module.exports.content = 'kanno'
// module.exports.say = ()=>{
//     console.log("Hello!");
// }

// exports = {
//     userName:"绫小路",
//     say(){
//         console.log('欢迎来到实力至上主义的教室');
//     }
// }
// 3.当exports使用'.'的方式添加属性时,就算没有使用module.exports暴露对象,
// 在使用require导入模块式时可以获得exports暴露的对象属性,
// 相当与给module.exports的空对象插入了exports暴露的对象属性

// exports.userName = "绫小路"

// 4.当exports使用'{}'的方式添加属性,同时将exports赋值给module.exports时,
// exports暴露的对象也可以在require导入模块的时候获取相应的对象属性

exports = {
    userName:"绫小路",
    say(){
        console.log('欢迎来到实力至上主义的教室');
    }
}
module.exports = exports;
module.exports.content = 'kanno'
module.exports.say = ()=>{
    console.log("Hello!");
}
// index.js文件

const kanno = require('./module.exports的使用')

console.log('kanno',kanno,kanno.userName);

kanno.say()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值