写一个demo让我看看方便理解
时间: 2024-09-12 20:17:14 浏览: 36
第一个项目Demo
5星 · 资源好评率100%
当然可以。让我们通过一个简单的Node.js模块的例子来说明 `module.exports` 和 `exports` 的区别:
```javascript
// example.js (一个CommonJS模块)
// 使用 exports 对象定义模块的一部分导出
exports.myFunction = function() {
console.log('This is a function defined with "exports"');
};
// 使用 module.exports 定义模块的全部导出
module.exports = {
myVariable: 'This is a variable exported using "module.exports"',
myOtherFunction: function() {
console.log('Another function exposed through "module.exports"');
}
};
// 另一个模块 main.js 引入并使用example.js
// 注意这里我们只导入了module.exports而不是exports
const exampleModule = require('./example');
// 使用 exports 的内容
exampleModule.myFunction();
// 使用 module.exports 的内容
console.log(exampleModule.myVariable);
exampleModule.myOtherFunction();
```
在这个例子中,`example.js` 模块有两个导出:一个是通过 `exports` 导出的单个函数,另一个是通过 `module.exports` 导出的对象,包含了两个成员。当我们从 `main.js` 中 `require` 这个模块时,我们可以分别使用 `exports` 和 `module.exports` 来访问不同的导出。
运行此代码,你会看到输出:
1. "This is a function defined with \"exports\""
2. "This is a variable exported using \"module.exports\""
3. "Another function exposed through \"module.exports\""
希望这个例子能帮助你理解它们的区别。如有更多疑问,请告诉我。
阅读全文