在Node.js中,module.exports
是一个特殊的对象,用于导出模块中的函数、对象或值,以便其他文件可以通过 require()
函数来使用它们。这是CommonJS模块系统的一部分,Node.js 原生支持它。
示例
假设你有一个名为 math.js
的文件,其中包含一个加法函数和一个减法函数:
// math.js
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
module.exports = {
add,
subtract
};
通过使用 module.exports
,你可以将 add
和 subtract
函数导出,以便在其他Node.js文件中使用。
现在,在另一个文件中,你可以这样导入和使用这两个函数:
// app.js
const math = require('./math');
console.log(math.add(5, 3)); // 输出 8
console.log(math.subtract(5, 3)); // 输出 2
注意
module.exports
可以导出任何JavaScript类型(函数、对象、数组、字符串等)。- 如果你使用ES6语法,
module.exports
和require
可以分别用export
和import
替换,但需要注意它们在语法和功能上有一些差异。 - 在一个模块中,你可以多次使用
module.exports
,但只有最后一次的赋值会生效。
这样,你就可以组织你的代码,使其更易于管理和测试。