Node.js module.exports的目的是什么
实际上,module.exports是node.js中module对象的一个属性。module.exports是返回给require()调用的对象。通过module.exports,我们可以从一个文件中导出函数、对象及其引用,并通过require()方法在其他文件中使用它们。
目的:
- module.exports的主要目的是实现 模块化编程 。模块化编程是指将程序的功能分离为独立、可互换的模块,每个模块包含执行所需功能的全部内容。如果不使用module.exports,在没有模块化/可重用代码的情况下编写大型程序会变得困难。
- 使用module.exports,我们可以将业务逻辑与其他模块分开。换句话说,我们可以通过它实现 抽象 。
- 使用它可以更容易地 维护和管理 不同模块的代码库。
- 强制关注点分离 。将代码分成多个文件使我们能够为每个文件使用适当的文件名。这样我们可以很容易地确定每个模块做什么以及在哪里找到它(假设我们制定了一个逻辑的目录结构,这仍然是您的责任)。
示例: 如何在node.js中使用module.exports。要开始使用以下示例,您需要在电脑上安装node.js。
为了验证,请在终端中输入以下命令。它将显示您电脑上安装的Node.Js版本。
node -v
步骤1: 创建一个单独的文件夹,然后通过终端或命令提示符导航到该文件夹。
步骤2: 在终端或命令提示符中运行 npm init -y 命令,以创建一个package.json文件。
步骤3: 现在在项目结构的根目录下分别创建两个文件,分别命名为 module.js 和 app.js 。
项目结构: 它将如下所示:
步骤4: 将以下代码添加到 module.js 文件中
// Module.js file
function addTwoNumbers(a, b) {
return a + b;
}
function multiplyTwoNumbers(a, b) {
return a * b;
}
const exportedObject = { addTwoNumbers, multiplyTwoNumbers };
// module.exports can be used to export
// single function but we are exporting
// object having two functions
module.exports = exportedObject;
步骤5: 将以下代码添加到 app.js 文件中
// app.js file
const obj = require("./module");
// Getting object exported from module.js
console.log(obj);
// Printing object exported from
// module.js that contains
// references of two functions
const add = obj.addTwoNumbers;
// Reference to addTwoNumbers() function
console.log(add(3, 4));
const multiply = obj.multiplyTwoNumbers;
// Reference to multiplyTwoNumbers() function
console.log(multiply(3, 4));
运行应用程序的步骤: 在项目的根路径(例如:module_exports_tut)文件夹中,在终端中运行以下命令。
node app.js
输出: