在Node.js中,exports对象是一个非常重要的对象,用于向外暴露模块内部的函数或属性。通过将函数或属性绑定到exports对象上,其他代码可以引入该模块并使用其中的函数或属性。
默认情况下,每个自定义模块中都会有一个exports对象,它是一个空对象。可以使用module.exports对象将模块内的成员共享出去,供外界使用。module.exports对象是当前模块对外的一个出口,外界通过require()引入模块时,得到的返回值就是module.exports对象。
需要注意的是,module.exports和exports默认情况下指向同一个对象。在模块内部,可以使用exports来暴露函数或属性,而使用module.exports来暴露模块的执行入口。
例如,在一个自定义模块中,可以使用以下代码将一个函数绑定到exports对象上:
exports.sayHello = function() { console.log('Hello!'); };
这样,其他代码可以通过以下方式引入该模块并使用sayHello函数:
var myModule = require('./myModule'); myModule.sayHello(); // 输出:Hello!
需要注意的是,如果使用module.exports对象暴露了一个新的对象,那么其他代码得到的是这个新对象而不是exports对象。因此,在使用module.exports时需要注意避免混淆。