exports 和 module.exports
时间: 2023-12-12 16:01:47 浏览: 31
在 Node.js 中,每个模块都有一个 module 对象和一个 exports 对象。 exports 对象是 module.exports 的一个引用,最初默认为空对象{}。如果我们想要将一个模块的一个函数或对象暴露出去,我们可以将其添加到 exports 对象中,如下所示:
```javascript
// module.js
function add(a, b) {
return a + b;
}
exports.add = add;
```
在另一个文件中,我们可以通过 require 函数引入该模块并使用 exports 对象中的函数:
```javascript
// app.js
const module = require('./module.js');
console.log(module.add(2, 3)); // 输出 5
```
如果我们想要将整个模块暴露出去,我们可以将 module.exports 直接赋值为一个函数或对象,如下所示:
```javascript
// module.js
module.exports = {
add(a, b) {
return a + b;
},
multiply(a, b) {
return a * b;
}
};
```
在另一个文件中,我们可以通过 require 函数引入该模块并直接使用该模块导出的对象或函数:
```javascript
// app.js
const module = require('./module.js');
console.log(module.add(2, 3)); // 输出 5
console.log(module.multiply(2, 3)); // 输出 6
```