# Node_ts **Repository Path**: zzksstudy/node_ts ## Basic Information - **Project Name**: Node_ts - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-23 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: Node ## README # process 对象 process 是 Node.js 提供的一个全局对象,它提供了关于当前 Node.js 进程的信息,并可以控制进程的执行。 例如,你可以使用 process 对象获取环境变量、命令行参数、退出进程等信息。 下面给你一份**专门为“已有 5 年前端经验的开发者”定制的 Node.js 学习路线**,不讲废话,直接告诉你**要学什么、学到什么程度、用在哪**。 ------ # ✅ **一、必须掌握的 Node.js 基础(核心 Runtime 能力)** > 目标:真正理解 Node 的运行机制,而不仅仅是会写接口。 ### **1. 事件循环(Event Loop)机制**(已掌握✅) 你必须能回答: - Node 的宏任务/微任务顺序? - `setTimeout`、`Promise.then`、`setImmediate`、`process.nextTick` 谁先执行? - 为什么 Node 适合 IO 密集、不适合 CPU 密集? ### **2. 模块系统** (已掌握✅) - CommonJS(require) - ES Module(import) - require 缓存机制 ### **3. 文件系统 & 路径** (已掌握✅) - fs / path / url 模块 — 读写文件、流读取(stream)、大文件拆分、watch ### **4. 异步编程方式** (已掌握✅) - 回调 → Promise → async/await - 自己封装一个 Promise(理解机制) ### **5. 全局对象 & 运行环境** (已掌握✅) - process - Buffer - global - __dirname / import.meta.url ------ # ✅ **二、进程与线程(高级特性,前端转后端必须懂)** Node 的性能瓶颈很多时候来自 CPU,你要掌握: ### **1. child_process** 开启多个子进程处理任务。 ### **2. cluster** 多核 CPU 负载均衡(线上常用)。 ### **3. worker_threads** Node 10+ 的真正多线程方式。 ### 你要能做出来: - 开一个 Worker 处理 CPU 密集任务(如大 JSON 解析、图像处理) - 主进程做 HTTP 服务 ------ # ✅ **三、网络与协议(Node 后端的核心)** ### **1. 手写一个 HTTP Server(原生)** 必须会写,会看懂 Express 内部是怎么处理请求的。 ### **2. TCP / UDP** 了解: - net.createServer() - socket 通信 - WebSocket 原理 ### **3. 流(stream)** (已掌握✅) Node 最强能力之一: - 可读流 / 可写流 - pipe() - 背压(backpressure) ### 典型场景: - 视频文件边读边传 - 大文件上传分片处理 ------ # ✅ **四、Node.js 后端框架(重点)** 你有前端经验,框架会轻松很多。 ### **必学一个主流框架:** ### ✔ **Express(入门快)** 学它理解 Node Web 的本质。 ### ✔ **Koa(更现代,阿里系使用多)** 学习中间件洋葱模型。 ### ✔ **NestJS(企业级、结构化、TypeScript 友好)** 强烈推荐 ➡ 前端 + TS 开发者最好的 Node 框架 你会觉得像 Spring Boot。 ### 学到: - 中间件(Middleware) - 控制器(Controller) - 服务(Service) - 拦截器 / 守卫 - DI(依赖注入) - 路由管理 ------ # ✅ **五、数据库与 ORM** ### **必须掌握至少一个:** ### ✔ SQL (已掌握✅) - MySQL / Postgres ### ✔ NoSQL - MongoDB(Mongoose) - Redis(缓存 / 发布订阅 / 分布式锁) ### ✔ ORM 技术栈(Nest 常用) - Prisma(最推荐) - TypeORM 你要会: - 增删改查 - 事务 - 索引 - 表结构设计 - 数据库连接池 ------ # ✅ **六、工程化能力(Node 经常被忽略的一部分)** ### ✔ npm / pnpm 包管理深入 - peerDependencies - workspaces - monorepo(pnpm workspace) ### ✔ 构建工具 - Webpack / Rollup / esbuild / SWC(Node 工具链经常要用) ### ✔ 脚本能力 用 Node 写 CLI 工具、脚本,例如: - 自动生成代码 - 自动打包 - 自动部署 ------ # ✅ **七、性能优化与生产部署** ### **1. 性能分析** - Node Profiler - flamegraph 火焰图 - memory leak(内存泄漏排查) ### **2. PM2 / Docker / Nginx** 会部署一个 Node 服务: - PM2 守护进程 - Docker 镜像构建 - 使用 Nginx 做反向代理 - 使用 Cluster 模型跑多核 ------ # ✅ **八、安全(后端必须懂)** 至少掌握: - JWT 鉴权 - XSS、CSRF 原理与防御 - bcrypt 密码加密 - HTTPS / CA 证书 - API 频率限制(rate limit) - 跨域 CORS 深入原理 ------ # ✅ **九、TypeScript(Node 必备技能)** 如果你要写可维护的工程,需要深入 TS: - 类型体操(泛型、交叉、条件类型) - DTO、接口规范 - 类型层面的约束开发 ------ # 🚀 学习顺序(给你一张路径图) ### **1. Node 核心基础** 事件循环、模块、Buffer、Stream ⬇ ### **2. 用 Express / Koa 写接口** 练习 RESTful + 增删改查 ⬇ ### **3. 使用 NestJS 做企业级项目** 掌握更大工程的结构 ⬇ ### **4. 学数据库(MySQL + Redis)** 写实际项目 ⬇ ### **5. 性能优化 / 工程化 / 部署** 提升后端生产能力 ⬇ ### **6. 构建自己的完整项目** 例如: - BFF(前后端中台) - 后台管理系统后端 - 个人博客系统