// a.js
const test = require('./b.js')
test.getName() // 输出‘yzy’
// b.js
const getName = () => {
console.log('yzy')
}
module.exports = {getName} // 此导出方式a文件能正确输出
exports = {getName} // 此导出方式a文件报错
我知道exports等价于 var exports = module.exports,但是我不能理解为什么直接exports = {getName} 就无法正常导出;
求解其中的原理,感谢了!
就像楼上说的,你在执行exports = {getName}的时候,会切断module.exports与exports的引用关系,改变了exports的值,并不会影响到module.exports的值。而模块导出最终是需要拿module.exports的值