Avatar ·

为什么在Node.js中需要module.exports以及如何正确使用它?

大家好!我刚开始学习Node.js,完全搞不懂module.exports是什么以及为什么需要它。我好像读过文档,但还是会混淆。 假设我有一个文件`math.js`,里面写了简单的加法和乘法函数: ```javascript function add(a, b) { return a + b; } function multiply(a, b) { return a * b; } ``` 在另一个文件`app.js`中,我想使用这些函数: ```javascript console.log(add(2, 3)); // 错误:add is not defined ``` 但遇到了错误。我知道需要某种方式“导出”函数,但不理解`module.exports`和`exports`之间的区别,以及为什么不能直接使用全局变量。 另外,我看到有些人写`module.exports = { ... }`,而另一些人写`exports.functionName = ...`。哪种方式是正确的?如果我写`module.exports = function() { ... }`会怎样? 请用简单的例子解释一下这是如何工作的,以及什么时候该用哪种方式。