Node模块导出数据的几种方式
三种导出方式
在 NodeJS 中想要导出模块中的变量或者函数有三种方式
- 通过exports.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
exports.str = name;
exports.fn = sum;
b.js
let aModule = require("./07-a");
console.log(aModule);
console.log(aModule.str);
console.log(aModule.fn(10, 20));
运行结果如下所示:
- 通过 module.exports.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
module.exports.str = name;
module.exports.fn = sum;
b.js 其实可以不动的,我把返回值单独的接收了一下然后在输出打印。
let aModule = require("./07-a");
console.log(aModule);
console.log(aModule.str);
let res = aModule.fn(10, 20);
console.log(res);
运行结果如下所示:
- 通过 global.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
global.str = name;
global.fn = sum;
b.js
let aModule = require("./07-a");
console.log(str);
let res = fn(10, 20);
console.log(res);
运行结果如下所示:
注意点
无论通过哪种方式导出, 使用时都需要先导入 (require)
才能使用导出的内容,通过 global.xxx
方式导出不符合CommonJS规范, 不推荐使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具