// 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()