- exports对象是module对象的一个属性,在初始时exports和module.exports都是指向同一块内存区域,都指向空对象
- CommonJs规范中,我们用require()方法引入模块的时候,其实是引入了module.exports对象
- 在不改变exports内存指向的情况下,修改exports的值可以改变module.exports的值
- 导出时尽量使用module.exports
//在这个例子中,外部没有办法访问hello,因为module.exports为空
const hello = function () {
console.log('hello');
}
exports = {
hello
}
console.log(exports); // { hello:[Function:hello] }
console.log(module.exports); //{}
//可以改为
module.exports = { hello }
//或:exports = module.exports = { hello }