Nodejs是什么、作用、安装、第一个程序【Node.js-入门详细讲解】

发布时间:2026/9/1 16:34:35

Nodejs是什么、作用、安装、第一个程序【Node.js-入门详细讲解】
目录Node.js 快速入门一、Node.js 是什么二、JavaScript 为什么需要 Runtime三、Node.js 和浏览器是什么关系四、Node.js 使用什么执行 JavaScript五、Node.js 能干什么开发后端接口六、Node.js 可以操作文件七、Node.js 可以创建服务器八、Node.js 可以操作数据库九、Node.js 可以开发命令行工具十、Node.js 可以做脚本十一、为什么前端开发者应该学习 Node.js十二、Node.js 和 JavaScript 是什么关系十三、Node.js 和 Chrome 是什么关系十四、浏览器和 Node.js 最大的区别浏览器Node.js十五、Node.js 的安装十六、先检查是否已经安装 Node.js十七、检查 npm十八、推荐使用 nvm 管理 Node.js十九、LTS 是什么二十、使用 nvm 安装 Node.js二十一、使用 nvm 安装 Node.js LTS二十二、安装成功后的检查二十三、你的 Mac 推荐环境二十四、Node.js 第一个程序二十五、Node.js 最重要的几个概念V8Node.jsfspathprocesshttpEvent Loop二十六、Node.js 学习顺序二十七、最终理解Node.js 快速入门面向前端开发者 / JavaScript 初学者目标快速理解 Node.js 是什么、能做什么、为什么要学以及如何在 Mac 上安装和运行第一个 Node.js 程序。一、Node.js 是什么先记住一句话Node.js 是一个可以让 JavaScript 在浏览器之外运行的 JavaScript RuntimeJavaScript 运行时。平时我们写 JavaScript最常见的运行环境是浏览器JavaScript ↓ Browser浏览器 ↓ Chrome / Safari / Firefox ↓ JavaScript Engine ↓ 执行 JavaScript例如console.log(Hello JavaScript)我们可以直接在 Chrome 的控制台中运行。二、JavaScript 为什么需要 RuntimeJavaScript 是一门编程语言。但是JavaScript 代码本身并不能凭空运行需要一个运行环境。这个运行环境就叫Runtime运行时例如JavaScript ↓ 需要运行环境 ↓ ┌───────────────┬───────────────┐ ↓ ↓ Browser Node.js 浏览器运行时 服务端运行时所以Browser 是一种 JavaScript Runtime Node.js 也是一种 JavaScript Runtime三、Node.js 和浏览器是什么关系可以简单理解成JavaScript │ ┌──────────┴──────────┐ ↓ ↓ Browser Node.js ↓ ↓ 浏览器环境 服务端环境浏览器主要负责HTML CSS 页面 DOM(Document Object Model 文档对象模型-操作网页) 用户交互Node.js 则可以负责服务器 接口 文件 数据库 网络 命令行工具 脚本四、Node.js 使用什么执行 JavaScriptNode.js 使用V8 JavaScript EngineV8 JavaScript 引擎V8 是 Google 开发的 JavaScript 引擎。Chrome 也使用 V8。因此可以粗略理解成Chrome ↓ V8 ↓ 执行 JavaScript而 Node.jsNode.js ↓ V8 ↓ 执行 JavaScript但是要注意V8 不等于 Node.js。V8 主要负责执行 JavaScript。Node.js 在此基础上还提供了大量服务端能力。例如Node.js │ ├── V8 │ ├── 文件系统 ├── HTTP ├── 网络 ├── 进程 ├── Buffer缓冲区-用来处理二进制数据【数据怎么存】 ├── Stream流-解决数据太大了不能一次性全部读进内存的问题【大量数据怎么一点一点处理】 └── 其他 Node API五、Node.js 能干什么Node.js 最大的特点是让 JavaScript 不再只能运行在浏览器里。以前JavaScript ↓ 浏览器 ↓ 网页有了 Node.jsJavaScript ↓ Node.js ↓ 服务器 / 本地电脑 / 命令行因此 Node.js 可以做很多事情。开发后端接口例如前端 Vue ↓ HTTP 请求 ↓ Node.js ↓ 数据库 ↓ 返回数据例如前端fetch(/api/users)Node.js 后端GET /api/users ↓ Node.js ↓ 查询数据库 ↓ 返回用户数据这也是 Node.js 最常见的用途之一。六、Node.js 可以操作文件浏览器里的 JavaScript 不能随便操作电脑上的任意文件。但是 Node.js 可以。例如importfsfromnode:fs/promisesconstcontentawaitfs.readFile(./test.txt,utf-8)console.log(content)这里的fs是File System文件系统Node.js 可以使用它读取文件 写入文件 创建文件夹 删除文件 移动文件七、Node.js 可以创建服务器例如importhttpfromnode:httpconstserverhttp.createServer((req,res){res.end(Hello Node.js)// 向客户端返回 Hello Node.js并结束这次响应。})server.listen(3000)// 让这个服务器监听 3000 端口运行后http://localhost:3000浏览器访问这个地址就可以看到Hello Node.js整个过程浏览器 ↓ http://localhost:3000 ↓ HTTP 请求 ↓ Node.js Server ↓ HTTP 响应 ↓ 浏览器这就是一个最简单的后端服务器。八、Node.js 可以操作数据库Node.js 可以连接MySQL PostgreSQL MongoDB Redis例如Vue ↓ Node.js ↓ PostgreSQL所以可以使用 Node.js 开发完整的后端服务。九、Node.js 可以开发命令行工具例如nodeapp.js很多我们平时使用的前端工具其实都运行在 Node.js 环境中。例如Vite前端构建工具 Webpack前端模块打包工具 ESLint代码质量检查工具 Prettier代码格式化工具 pnpmNode.js包管理器 npmNode.js官方生态常用的包管理器所以你作为前端开发者其实早就在间接使用 Node.js。例如pnpminstall背后就涉及 Node.js 运行环境。十、Node.js 可以做脚本例如批量修改文件 批量生成代码 处理 JSON 处理 Excel 自动化任务 构建项目都可以使用 Node.js。例如console.log(开始执行任务)console.log(处理文件...)console.log(处理完成)然后nodescript.js就可以运行。十一、为什么前端开发者应该学习 Node.js因为你现在作为前端开发者可能主要是Vue ↓ 页面 ↓ Axios / Fetch ↓ 后端 API例如Vue ↓ GET /api/users ↓ Java / Go / Node.js ↓ 数据库学习 Node.js 后Vue ↓ Node.js ↓ 数据库你就可以自己完成前端 后端 数据库也就是Full Stack全栈十二、Node.js 和 JavaScript 是什么关系不要混淆JavaScript ≠ Node.jsJavaScript 是编程语言Node.js 是运行 JavaScript 的环境可以类比Java ↓ JVM类似地JavaScript ↓ Runtime ↓ Node.js当然这只是帮助理解的类比两者底层实现并不完全相同。十三、Node.js 和 Chrome 是什么关系Chrome 是Browser浏览器Node.js 是JavaScript Runtime可以这样理解JavaScript │ ┌────────────┴────────────┐ ↓ ↓ Browser Node.js ↓ ↓ Chrome 服务端环境 ↓ V8实际上 Chrome 和 Node.js 都使用 V8但两者提供的环境不同。十四、浏览器和 Node.js 最大的区别浏览器主要提供DOM Window localStorage Fetch Cookie History Location例如document.querySelector(#app)localStorage.setItem(token,123)fetch(/api/users)这些都是浏览器提供的 Web API。Node.js主要提供fs path process http stream crypto例如importfsfromnode:fs/promises可以操作文件。所以Browser │ ├── DOM ├── Window ├── localStorage └── Fetch Node.js │ ├── fs ├── path ├── process └── HTTP十五、Node.js 的安装Mac 按Command Space搜索Terminal打开终端。# 1. 安装 nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash # 2. 重新加载 Shell source ~/.zshrc # 3. 检查 nvm nvm -v # 4. 安装 Node.js nvm install 24 # 5. 使用 Node.js 24 nvm use 24 # 6. 设置默认版本 nvm alias default 24 # 7. 检查 Node.js node -v # 8. 检查 npm npm -v # 9. 检查 Node.js 路径 which node十六、先检查是否已经安装 Node.js执行node-v如果看到v24.x.x或者其他版本号v22.x.x v20.x.x说明已经安装 Node.js。失败的安装command not found: node说明当前环境找不到 Node.js。十七、检查 npm执行npm-v如果出现10.x.x或者11.x.x说明 npm 可以正常使用。npm 是Node Package Manager也就是 Node.js 生态中非常重要的包管理工具。十八、推荐使用 nvm 管理 Node.js如果你要长期做 Node.js 开发我非常推荐nvmnvmNode Version Manager中文Node.js 版本管理器。为什么需要它因为不同项目可能需要不同版本的 Node.js。例如项目 A Node 20 项目 B Node 22 项目 C Node 24如果没有版本管理器切换版本会比较麻烦。使用 nvmnvm use20就可以切换到 Node 20。nvm use24就可以切换到 Node 24。十九、LTS 是什么安装 Node.js 时经常会看到LTS CurrentLTSLong Term Support中文长期支持版本简单理解稳定、长期维护、适合生产环境的版本。学习和工作项目通常优先选择LTS而不是一味追求最新 Current 版本。二十、使用 nvm 安装 Node.js如果你的 Mac 没有 nvm可以先安装 nvm。安装完成后重新打开 Terminal。然后检查nvm-v如果出现0.40.x之类的版本号就说明安装成功。二十一、使用 nvm 安装 Node.js LTS例如nvminstall24然后nvm use24设置默认版本nvmaliasdefault24最后检查node-vnpm-v二十二、安装成功后的检查建议执行node-vnpm-vnvm-vwhichnode例如v24.x.x 11.x.x 0.40.x /Users/xxx/.nvm/versions/node/v24.x.x/bin/node说明基本正常。二十三、你的 Mac 推荐环境作为前端开发者推荐Mac │ ├── Homebrew │ ├── nvm │ ├── Node.js LTS │ ├── npm │ ├── pnpm │ ├── Git │ └── VS Code其中nvm ↓ 管理 Node 版本 Node.js ↓ 运行 JavaScript npm / pnpm ↓ 管理依赖包二十四、Node.js 第一个程序创建hello-node └── index.jsindex.jsconsole.log(Hello Node.js)进入目录cdhello-node运行nodeindex.js看到Hello Node.js恭喜。你已经成功运行了第一个 Node.js 程序。二十五、Node.js 最重要的几个概念刚开始不要被大量 API 吓到。先记住Node.js │ ├── Runtime │ ├── V8 │ ├── JavaScript │ ├── Node API │ ├── fs │ ├── path │ ├── process │ ├── http │ └── stream │ └── Event Loop其中V8负责执行 JavaScript。Node.js负责提供 JavaScript 在浏览器之外运行的环境和能力。fs负责文件系统操作。path负责文件路径处理。process负责当前 Node.js 进程相关信息和环境变量。http负责HTTP 客户端和服务器相关能力。Event Loop负责Node.js 异步任务调度的重要机制。二十六、Node.js 学习顺序如果你想快速学习不要一开始乱学。推荐Node.js 是什么 ↓ JavaScript Runtime ↓ V8 ↓ Node CLI ↓ package.json ↓ npm / pnpm ↓ ESM / CommonJS ↓ fs ↓ path ↓ process ↓ Promise / async / await ↓ Event Loop ↓ HTTP ↓ 原生 HTTP Server ↓ Express / Fastify ↓ 数据库 ↓ Redis ↓ NestJS ↓ Docker ↓ 全栈开发如果以后继续往 AI 方向发展Node.js ↓ API ↓ LLM ↓ RAG ↓ Agent ↓ Tool Calling ↓ MCP ↓ AI Workflow二十七、最终理解你可以把整个关系记成JavaScript │ ↓ JavaScript Runtime │ ┌───────────┴───────────┐ ↓ ↓ Browser Node.js │ │ ↓ ↓ Chrome V8 │ │ ↓ ↓ V8 Node APIs │ ┌────────────────┼───────────────┐ ↓ ↓ ↓ fs HTTP process │ │ │ ↓ ↓ ↓ 文件 服务器 环境变量所以最核心的一句话就是JavaScript 是语言V8 是执行 JavaScript 的引擎Browser 和 Node.js 是不同的 JavaScript 运行环境。浏览器主要让 JavaScript 操作网页而 Node.js 让 JavaScript 可以操作服务器、文件、网络、数据库等。对于已经会 Vue/TypeScript 的前端开发者来说学习 Node.js 的目的不是重新学习 JavaScript而是把你原本只会“调用后端 API”的能力逐渐扩展到“自己设计和实现 API”。

相关新闻

deepagents多智能体工作流引擎

deepagents多智能体工作流引擎

2026/9/1 16:34:35

多智能体工作流引擎 参考Dify工作流引擎以及DeepSeek harness工作空间概念,实现多智能体节点工作流执行引擎。 项目核心功能-工作流执行 借助开源框架langgraph实现自定义工作流的“超步”执行。 功能特性 支持agent节点模型自由绑定,根据需要绑定单…

【硬件基础学习】运算放大器基础知识-快速理解!

【硬件基础学习】运算放大器基础知识-快速理解!

2026/9/1 16:34:35

目录 一、比较器 二、运算放大器 2.1、认识运放 2.2、负反馈回路 2.3、虚短&虚短 2.3.1、虚断 2.3.2、虚短 2.4、实际电路分析 昨天分享了我对开漏输出和推挽输出的理解,今天就比较器继续深入分享一下,比较器和运算放大器的理解。 一、比较…

TongRDS Node版部署实战:从解压到连接验证的完整流程

TongRDS Node版部署实战:从解压到连接验证的完整流程

2026/9/1 16:34:35

简介:TongRDS 2.2.1.4 企业版服务节点安装包,定位于为分布式架构提供高性能内存数据缓存与共享能力,适合需要处理高并发读写、热点数据缓存的业务系统开发与运维人员使用。该中间件支持内存弹性伸缩管理,可降低业务应用对底层内存…

CRT显示器播放老动画实战:特丽珑G420与《Fate/stay night》OP的完美匹配

CRT显示器播放老动画实战:特丽珑G420与《Fate/stay night》OP的完美匹配

2026/9/1 17:54:38

用索尼特丽珑 CRT 显示器看 2004 年的《Fate/stay night》OP,这件事最值得聊的不是怀旧,而是它为什么能在今天这个 4K、HDR、高刷屏的时代,依然能提供一种独特的、甚至在某些方面难以复制的观看体验。如果你手头正好有一台老 CRT,…

C++手写JPEG压缩器:灰度图编码从DCT到Huffman全解析

C++手写JPEG压缩器:灰度图编码从DCT到Huffman全解析

2026/9/1 17:54:38

简介:本资源是一套基于C实现的JPEG图像压缩与解压缩算法完整工程,面向图像处理初学者、嵌入式开发者及计算机视觉方向学习者,旨在帮助理解JPEG标准的核心原理与工程落地细节。压缩包共14个文件,含4个核心cpp源码、3个头文件&#…

2024蔚来秋招软件开发岗笔试复盘:题型解析与备考指南

2024蔚来秋招软件开发岗笔试复盘:题型解析与备考指南

2026/9/1 17:54:38

2024年秋招,我投了蔚来汽车的软件开发岗。说实话,在投递之前我对车企的笔试认知还停留在“考考C语言、考考嵌入式”的层面,但真正坐到赛码网笔试页面面前时,才发现完全不是这么回事。这场笔试既有常规的算法编程题,也夹…

Live2D Cubism 从零集成指南:PIXI.js 驱动二次元角色交互动画

Live2D Cubism 从零集成指南:PIXI.js 驱动二次元角色交互动画

2026/9/1 17:54:38

最近在开发一个二次元风格的互动应用时,遇到了一个难题:如何让静态的立绘“活”起来,实现自然的眨眼、呼吸、跟随鼠标的转头等效果,从而极大地提升用户体验和沉浸感。手动绘制序列帧动画不仅工作量巨大,而且难以做到流…

脑机接口创作数字艺术:从医疗康复走向创作介质

脑机接口创作数字艺术:从医疗康复走向创作介质

2026/9/1 17:54:38

一位女性受试者坐在屏幕前,没有键盘、没有鼠标、也没有绘图板,只靠“想”就完成了一幅数字绘画。这是 Neuralink 对外展示的脑机接口创作画面。比起“人类终于能用意识画画”这个猎奇视角,我更关注的其实是另一件事:脑机接口正在从…

Mac Studio本地跑通Qwen3.8 27B:量化、上下文与稳定性实践

Mac Studio本地跑通Qwen3.8 27B:量化、上下文与稳定性实践

2026/9/1 17:44:38

在 Mac Studio 上本地跑 Qwen3.8 27B 之前,我以为最需要担心的是内存。128GB 统一内存,27B 权重,量化之后怎么算都装得下。真正把流程跑完一遍之后,我发现问题根本不在“装不装得下”,而在“装完之后能不能稳定地输出、…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/1 1:53:39

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/1 9:55:14

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/31 17:18:46

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…