当前位置: 首页 > news >正文

Node.js入门教程(十九):模块系统

一、什么是模块系统?

Node.js 模块系统是其核心功能之一,它允许开发者将代码组织成小的、可重用的单元,这些单元被称为模块

模块是一个封装了特定功能的独立文件,可以在其他文件中引入和使用。

Node.js 的模块系统是构建 Node.js 应用程序的重要基础,使开发者能够将代码拆分成可重用、可维护的小块。

每个模块都是一个单独的 JavaScript 文件,包含一组相关的函数、对象或变量,通过这种方式,Node.js 提供了一种结构化的方法来管理大型应用程序,使代码更加清晰和易于维护。

Node.js 中的每个文件都可以作为一个模块,默认处于独立的作用域内。

模块系统遵循 CommonJS 规范,但也支持 ES 模块

二、模块类型

Node.js 支持以下几种模块:

模块类型说明示例
内置模块Node.js 自带的模块fs、http、path、os
用户自定义模块由开发者创建的模块本地文件模块
第三方模块通过 npm 安装的模块express、lodash、axios

三、导入内置模块

内置模块是由 Node.js 自带的模块,在安装 Node.js 时就已经包含在环境中,因此无需额外安装。常见的内置模块包括 fshttppathoscrypto 等。

导入内置模块只需要使用 require() 函数并传入模块名称即可:

// 导入文件系统模块 const fs = require('fs'); // 导入路径模块 const path = require('path'); // 导入 HTTP 模块 const http = require('http');

这里,fs 是一个字符串,表示要加载的模块名称。Node.js 会自动识别这是一个内置模块,并加载相应的功能。

示例

const os = require('os'); console.log('Operating System:', os.platform()); console.log('Total Memory:', os.totalmem());

四、导入第三方模块

第三方模块是开发者或开源社区发布的模块,可以通过 npm(Node 包管理器)安装到项目中,常见的第三方模块有 expresslodashaxios 等。

第三方模块安装后,这些模块会被放置在项目的 node_modules 目录下。要导入一个第三方模块,同样使用 require() 函数,但传入的是模块的名称:

// 导入第三方模块 express const express = require('express');

在导入第三方模块之前,确保已经通过 npm 安装了该模块。例如,安装 express 可以通过以下命令完成:

npm install express

示例:安装并使用 lodash

npm install lodash
const lodash = require('lodash'); const array = [1, 2, 3, 4]; const reversedArray = lodash.reverse(array.slice()); // 使用 lodash 反转数组 console.log('Reversed Array:', reversedArray);

五、自定义模块导出与导入(CommonJS)

导出模块:使用 module.exports 或 exports

在 Node.js 中,每个文件都是一个模块,默认是独立的作用域。要将

http://www.jsqmd.com/news/1392136/

相关文章:

  • 南京宠物 B 超 X 光实操培训班 转行宠物医疗助理去哪里学 报名条件 - 湖北找学校
  • 告别无效忙碌:用Tai这款Windows时间统计工具,看清软件和网站的时间去向
  • 交付一个可拖拽的流程图编辑器要多久?我用maxGraph搭建交互式图表库的实测记录
  • 告别打印驱动地狱:foo2zjs 让 100+ 款激光打印机在 Linux 下免费复活
  • 2026年丹东租车行业梳理:BZBOSS等品牌内容及避坑要点整理 - 小范同学a
  • 资料员 vs 材料员核心区别:建筑投标入行必看的岗位指南
  • 【C语言】第三章:内存与指针(指针上篇)
  • 如何避坑?深入解读网站建设合同规范及避坑指南
  • 如何在浏览器里零成本搭建光学实验室?5分钟上手 Ray Optics Simulation 光学模拟器
  • Node.js入门教程(二十):模块导入
  • 东莞大型网站建设公司如何选择?揭秘高品质建站背后的逻辑与避坑指南
  • 基于YOLOv8的AI自瞄完整实战指南:从环境搭建到参数调优
  • 武汉中职 / 中专想学宠物医疗与护理专业推荐学校 —— 武汉市城铁技工学校 - 升学择校早知道
  • Needle 2:14MB 工具调用模型的工程极限与真实边界
  • 沈阳中街附近民宿预算300到500怎么住哪家好?2026夏季实测靠谱关东住宿推荐 - 阿木小鸟
  • Snipe-IT 开源资产管理:10 步 Docker 部署实战,半小时搭好企业 IT 资产台账
  • 技术解析:办公自动化(OA)系统有哪些?按企业规模匹配选型
  • LangChain 和 LangGraph 到底啥关系?一篇讲清怎么选
  • 非人灵长类Th1/Th2及炎症免疫应答的多因子检测:从亚群分化到模型应用
  • 2026合肥哪个单招辅导班比较靠谱?合肥共达校内单招辅导班,保底录取! - 小张zc
  • 2026年湖北电大中专怎么报名?联系方式多少? - 最新资讯
  • 站长之家工具生态 vs SpeedCE:Ping/测速/Whois 分工
  • 2026郑州全屋定制靠谱门店推荐 - 甄选测评馆
  • 语义分割任务
  • 进销存系统为什么总有数据断层?采购单、入库单、销售单如何实现自动关联?
  • Windows更新修复工具终极指南:Reset Windows Update Tool 完整使用与避坑手册
  • 3.PID控制中的微分环节:给PI踩刹车的关键
  • 告别啃生肉:一篇搞定LunaTranslator视觉小说实时翻译的完整指南
  • 电子课本下载工具tchMaterial-parser使用教程:4步把智慧教育平台的课本变成本地PDF
  • 图片转STL一键搞定:把照片变成可3D打印的立体浮雕,新手四步就能出活