Node.js 导出模块
Node.js 中的module.exports用于将任何字面量、函数或对象导出为模块。它用于将 JavaScript 文件包含到 node.js 应用程序中。模块类似于用于表示当前模块的变量, exports是作为模块公开的对象。
句法:
module.exports = literal | function | object
说明:这里赋值(字面量 | 函数 | object)直接暴露为模块,可以直接使用。
module.exports.variable = literal | function | object
说明:这里分配的值(字面量量|函数|对象)被间接暴露为一个模块,并且可以使用变量来使用。
示例 1:导出字面量
- 创建一个名为app.js的文件并使用
module.exports
导出字面量。module.exports = "GeeksforGeeks";
- 创建一个名为index.js的文件并导入文件 app.js 以将导出的字面量打印到控制台。
const company = require("./app"); console.log(company);
- 输出:
GeeksforGeeks
示例 2:导出对象
- 创建一个名为app.js的文件并使用
module.exports
导出对象。module.exports = { name: 'GeeksforGeeks', website: 'https://geeksforgeeks.org' }
- 创建一个名为index.js的文件并导入文件 app.js 以将导出的对象数据打印到控制台。
const company = require('./app'); console.log(company.name); console.log(company.website);
- 输出:
GeeksforGeeks https://geeksforgeeks.org
示例 3:导出函数
- 创建一个名为app.js的文件并使用
module.exports
导出函数。module.exports = function (a, b) { console.log(a + b); }
- 创建一个名为index.js的文件并导入文件 app.js 以使用导出的函数。
const sum = require('./app'); sum(2, 5);
- 输出:
7
示例 4:将函数导出为类
- 创建一个名为app.js的文件。使用 this 关键字定义一个函数并使用
module.exports
导出该函数。module.exports = function () { this.name = 'GeeksforGeeks'; this.website = 'https://geeksforgeeks.org'; this.info = () => { console.log(`Company name - ${this.name}`); console.log(`Website - ${this.website}`); } }
- 创建一个名为index.js的文件并导入文件 app.js 以将导出的函数用作类。
const Company = require('./app'); const firstCompany = new Company(); firstCompany.info();
- 输出:
Company name - GeeksforGeeks Website - https://geeksforgeeks.org
示例 5:从单独的文件夹加载模块
const index = require('./models/lang/index.js');
说明:在上面的示例中,index.js 文件位于模型文件夹内的 lang 文件夹下。我们可以使用./
转到根文件夹,然后相对于它移动。