{"id":14969901,"url":"https://github.com/qufei1993/nodejs-roadmap","last_synced_at":"2025-05-15T04:05:37.927Z","repository":{"id":37399632,"uuid":"94446262","full_name":"qufei1993/Nodejs-Roadmap","owner":"qufei1993","description":"【Nodejs-Roadmap】侧重于 Node.js 服务端的开发指南，公众号 “Nodejs技术栈”","archived":false,"fork":false,"pushed_at":"2022-04-05T10:30:26.000Z","size":84203,"stargazers_count":2936,"open_issues_count":83,"forks_count":434,"subscribers_count":77,"default_branch":"master","last_synced_at":"2025-05-15T04:05:31.504Z","etag":null,"topics":["devops","http","javascript","microservice","mongodb","nodejs"],"latest_commit_sha":null,"homepage":"https://www.nodejs.red","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qufei1993.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-15T14:14:28.000Z","updated_at":"2025-05-07T15:46:13.000Z","dependencies_parsed_at":"2022-08-08T20:15:28.262Z","dependency_job_id":null,"html_url":"https://github.com/qufei1993/Nodejs-Roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qufei1993%2FNodejs-Roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qufei1993%2FNodejs-Roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qufei1993%2FNodejs-Roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qufei1993%2FNodejs-Roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qufei1993","download_url":"https://codeload.github.com/qufei1993/Nodejs-Roadmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270645,"owners_count":22042859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","http","javascript","microservice","mongodb","nodejs"],"created_at":"2024-09-24T13:42:39.091Z","updated_at":"2025-05-15T04:05:32.911Z","avatar_url":"https://github.com/qufei1993.png","language":null,"readme":"# Nodejs技术栈\n\n[![stars](https://badgen.net/github/stars/qufei1993/Nodejs-Roadmap?icon=github\u0026color=4ab8a1)](https://github.com/qufei1993/Nodejs-Roadmap) [![forks](https://badgen.net/github/forks/qufei1993/Nodejs-Roadmap?icon=github\u0026color=4ab8a1)](https://github.com/qufei1993/Nodejs-Roadmap) [\u003cimg src=\"https://img.shields.io/static/v1.svg?label=%E6%85%95%E8%AF%BE\u0026message=7k%20stars\u0026color=ef151f\"\u003e](https://www.imooc.com/u/2667395) [\u003cimg src=\"https://img.shields.io/badge/%E5%BE%AE%E4%BF%A1-%E5%85%AC%E4%BC%97%E5%8F%B7-brightgreen\"\u003e](https://nodejsred.oss-cn-shanghai.aliyuncs.com/node_roadmap_wx.jpg?x-oss-process=style/may)\n\n本文档是作者 **@五月君** 从事 Node.js 开发以来的学习历程，希望这些分享能帮助到正在学习、使用 Node.js 的朋友们，也真诚的希望能聚集所有 Node.js 爱好者，共建互帮互助的「Nodejs技术栈」交流平台。\n\n如果本文能为您得到帮助，请给予支持！\n\n**如何支持：**\n- 关注公众号 👉 [**Nodejs技术栈**](https://nodejsred.oss-cn-shanghai.aliyuncs.com/node_roadmap_wx.jpg?x-oss-process=style/may)\n- 点击**右上角 Star :star: 给予关注，勿 fork**\n- 分享给您身边更多的小伙伴\n\n**作者简介**：\n\n五月君，Software Designer，公众号「**Nodejs技术栈**」|「**五月君**」作者，一个疯狂输出干货的技术博主。\n\n**话题标签：**\n\n\u003e 所有相关话题均围绕 Node.js 讨论，例如数据库部分，会介绍在 Node.js 中使用 Redis、MySql、MongoDB 等常见数据库的一些基础应用、问题、实践记录。\n\n`基础入门` `系统模块` `NPM 模块` `高级进阶` `好文翻译` `实践指南` `Node.js 小知识` `Node.js News` `数据库` `微服务`  `Serverless` `DevOps`\n\n**在线预览：** [https://www.nodejs.red](https://www.nodejs.red/)\n\n## 话题目录\n\n- Introduction\n    - [简介](README.md)\n\n- 基础入门\n    - [Node.js 是什么？我为什么选择它？](/docs/nodejs/base/what-is-nodejs.md)\n    - [Node.js 版本知多少？又该如何选择？](/docs/nodejs/base/release.md)\n    - [“3N 兄弟” 助您完成 Node.js 环境搭建](/docs/nodejs/base/install.md)\n    - [Node.js 包管理器 NPM](/docs/nodejs/base/npm.md)\n    - [使用 Chrome Devtools 来调试你的 Node.js 程序](/docs/nodejs/base/debug-nodejs-with-chrome-devtools.md)\n\n- 系统模块\n    - [`[Module]` CommonJS 模块机制](/docs/nodejs/module.md)\n    - [`[Module]` ES Modules 入门基础](/docs/nodejs/modules/esm.md)\n    - [`[Events]` 事件触发器](/docs/nodejs/events.md)\n    - [`[Crypto]` 加解密模块](/docs/nodejs/crypto.md)\n    - [`[Buffer]` 缓冲区模块](/docs/nodejs/buffer.md)\n    - [`[Process]` 线程和进程](/docs/nodejs/process-threads.md)\n    - [`[Console]` 日志模块](/docs/nodejs/console.md)\n    - [`[Net]` 网络模块](/docs/nodejs/net.md)\n    - [`[DNS]` 域名解析](/docs/nodejs/dns.md)\n    - [`[Cluster]` 集群模块](/docs/nodejs/cluster-base.md)\n    - [`[Stream]` 多文件合并实现](/docs/nodejs/modules/stream-mutil-file-merge.md)\n    - [`[Stream]` pipe 基本使用与实现分析](/docs/nodejs/modules/stream-pipe.md)\n    - [`[Stream]` internal/stremas/egacy.js 文件分析](/docs/nodejs/modules/stream-lib-internal-stremas-legacy.md)\n    - [`[Util]` util.promisify 实现原理分析](/docs/nodejs/modules/util-promisify.md)\n    - [`[FileSystem]` 如何在 Node.js 中判断一个文件/文件夹是否存在？](/docs/nodejs/modules/fs-file-exists-check.md)\n    - [`[Report]` 在 Node.js 中使用诊断报告快速追踪问题](/docs/nodejs/modules/report.md)\n    - [`[AsyncHooks]` 使用 Async Hooks 模块追踪异步资源](/docs/nodejs/modules/async-hooks.md)\n    - [`[HTTP]` HTTP 请求与响应如何设置 Cookie 信息](/docs/nodejs/modules/http-set-cookies.md)\n\n- NPM 模块\n    - [Node.js + Socket.io 实现一对一即时聊天](/docs/nodejs/npm/private-chat-socketio.md)\n    - [request 已废弃 - 推荐 Node.js HTTP Client undici](/docs/nodejs/npm/undici.md)\n\n- 高级进阶\n    - [Egg-Logger 模块实践](/docs/nodejs/logger.md)\n    - [I/O 模型浅谈](/docs/nodejs/IO.md)\n    - [Memory 内存管理和 V8 垃圾回收机制](/docs/nodejs/memory.md)\n    - [Cache 缓存](/docs/nodejs/cache.md#缓存)\n    - [Schedule 定时任务](/docs/nodejs/schedule.md#定时任务)\n    - [Template 模板引擎](/docs/nodejs/template.md#模板引擎)\n    - [Testing 测试](/docs/nodejs/test.md)\n    - [Framework Web 开发框架选型](/docs/nodejs/framework.md#框架)\n    - [ORM 对象关系映射](/docs/nodejs/orm.md#ORM)\n    - [Middleware 常用 Web 框架\u0026中间件汇总](/docs/nodejs/middleware.md)\n    - [深入 Nodejs 源码探究 CPU 信息的获取与实时计算](/docs/nodejs/modules/os-cpu-usage.md)\n    - [Node.js 中出现未捕获异常如何处理？](/docs/nodejs/advanced/uncaugh-exception.md)\n    - [探索异步迭代器在 Node.js 中的使用](/docs/nodejs/advanced/asynciterator-in-nodejs.md)\n    - [多维度分析 Express、Koa 之间的区别](/docs/nodejs/base/express-vs-koa.md)\n    - [在 Node.js 中如何处理一个大型 JSON 文件？](/docs/nodejs/advanced/json-stream.md)\n    - [Node.js 中遇到大数处理精度丢失如何解决？前端也适用！](/docs/nodejs/advanced/floating-point-number-float-bigint-question.md)\n    - [Stream 的两种模式](/docs/nodejs/advanced/stream-object-mode-and-flow-mode.md)\n    - [Stream 的背压问题 — 消费端数据积压来不及处理会怎么样？](/docs/nodejs/advanced/stream-back-pressure.md)\n\n- 好文翻译\n    - [你需要了解的有关 Node.js 的所有信息](/docs/nodejs/translate/everything-you-need-to-know-about-node-js-lnc.md)\n    - [不容错过的 Node.js 项目架构](/docs/nodejs/translate/bulletproof-node.js-project-architecture.md)\n\n- 实践指南\n    - [企业实践](/docs/nodejs/practice/enterprise.md)\n    - [框架实践](/docs/nodejs/practice/frame.md)\n\n- 数据库\n    - [`[Redis]` Node.js 中实践 Redis Lua 脚本](/docs/database/redis-lua.md)\n    - [`[Redis]` Node.js 中实践 Redis 分布式锁](/docs/database/redis-lock.md)\n    - [`[MongoDB]` 事务 | 基础篇](/docs/database/mongodb-transactions.md)\n    - [`[MongoDB]` 事务 | 多文档事务实践篇](/docs/database/mongodb-transactions-pratice.md)\n    - [`[MongoDB]` Node.js 中用 Mongoose 关联查询踩坑记录](/docs/database/mongoose-populate.md)\n\n- 微服务\n    - [`[Microservice]` 数据通信方式 RPC、HTTP、消息队列](/docs/microservice/data-communication.md)\n    - [`[Consul]` 服务注册与发现 Consul](/docs/microservice/consul.md)\n    - [`[RabbitMQ]` 入门篇](/docs/microservice/rabbitmq-base.md)\n    - [`[RabbitMQ]` 交换机消息投递机制](/docs/microservice/rabbitmq-exchange.md)\n    - [`[RabbitMQ]` DLX（死信队列）+ TTL 实现延迟队列](/docs/microservice/rabbitmq-schedule.md)\n    - [`[RabbitMQ]` Delayed Message 插件实现延迟队列](/docs/microservice/rabbitmq-delayed-message-exchange.md)\n    - [`[RabbitMQ]` 高并发下消费端限流实践](/docs/microservice/rabbitmq-prefetch.md)\n    - [`[RabbitMQ]` 服务异常重连](/docs/microservice/rabbitmq-reconnecting.md)\n\n- Node.js 小知识\n    - [HTTP 请求与响应如何设置 Cookie 信息]()\n    - [如何实现线程睡眠？](/docs/nodejs/tips/sleep.md)\n    - [实现图片上传写入磁盘的接口](/docs/nodejs/tips/upload-picture.md)\n\n- Node.js News\n    - [Node.js v15.x 新特性 — 控制器对象 AbortController]()\n    - [Node.js 16 来了，14 将支持到 2023 年]()\n    - [一起来看看 Node.js v14.x LTS 中的这些新功能](/docs/nodejs/version/node-v14-feature.md)\n    - [Node.js v14.15.0 已发布进入 LTS 长期支持](/docs/nodejs/version/node-v14.15.0-lts-intro.md)\n\n- Serverless\n    - [Node.js 快速开启 Serverless Functions：入门实践指南](/docs/serverless/serverless-functions-using-node-and-aws.md)\n    - [TypeScript + Serverless 开发 REST API 实战](https://github.com/qufei1993/aws-node-rest-api-typescript/blob/master/intro-zh.md)\n    - [使用 Serverless, Nodejs, MongoDB Atlas cloud 构建 REST API](/docs/serverless/node-mongodb-altas-serverless-api.md)\n\n- DevOps\n    - [`[Docker]` 入门到实践](/docs/devops/docker-base.md)\n    - [`[Docker]` Node.js 服务容器化实践](/docs/devops/docker-nodejs.md)\n    - [`[Docker]` Node.js 进程的优雅退出](/docs/devops/docker-build-nodejs-smooth-program.md)\n    - [`[NPM]` 学会发布一个自己公共/私有包](/docs/devops/npm-deploy.md)\n    - [`[Deploy]` Node.js 生产环境完整部署指南](/docs/devops/node-deploy.md)\n\n* 其他\n    - [关于 Node.js 技术栈](/docs/other/about-us.md)\n    - [2020 Nodejs技术栈原创文章合辑](/docs/other/2020-noderoadmap-original-compilation.md)\n    - [2020 年度回顾 — 缘起「Nodejs技术栈」](/docs/other/may-2020-review.md)\n    - [Blog 推荐](/docs/other/blog.md)\n## 转载分享\n\n* 本站所有文章首发于公众号「Nodejs技术栈」，请发邮件至 qzfweb@gmail.com。\n* 原创文章需要转载至公众号的，在邮件中说明具体的文章和转载到的公众号。\n* 原创文章需要转载至个人博客的，在邮件中说明具体的文章和转载到的博客地址。\n* 转载时须标注转载来源 “**文章转载自公众号「Nodejs技术栈」，作者@五月君**”，缺失来源的或来源隐蔽的视为侵权。\n\n## 参与贡献\n\n1. 如果您对本项目有任何建议或发现文中内容有误的，欢迎提交 issues 进行指正。\n2. 对于文中我没有涉及到知识点，欢迎提交 PR。\n3. 如果您有文章推荐请以 markdown 格式到邮箱 `qzfweb@gmail.com`，[中文技术文档的写作规范指南](https://github.com/ruanyf/document-style-guide)。\n\n## 联系我\n\n- **加入群聊**\n本群的宗旨是给大家提供一个良好的技术学习交流平台，所以杜绝一切广告！请扫描下方二维码先添加作者 “五月君” 微信，备注：Node。\n\u003cimg src=\"https://nodejsred.oss-cn-shanghai.aliyuncs.com/wx.jpeg?x-oss-process=style/may\" width=\"180\" height=\"180\"/\u003e\n\n- **公众号「Nodejs技术栈」**\nNode.js 开发者聚集地，聚集所有 Node.js 爱好者，共建互帮互助的「**Nodejs技术栈**」交流平台。分享 Node.js 在前端、后端等领域下应用实践，通过 Node.js 祝您早日成为一名全栈开发工程师。 如果大家感兴趣可以给予关注支持！\n\u003cimg src=\"https://nodejsred.oss-cn-shanghai.aliyuncs.com/node_roadmap_wx.jpg?x-oss-process=style/may\" width=\"180\" height=\"180\"/\u003e\n\n- **公众号「五月君」**\n五月君的个人专属公众号，分享 Node.js 之外的更多精彩内容！\n\u003cimg src=\"https://qufei1993.oss-cn-beijing.aliyuncs.com/codingmay/wx/account\" width=\"180\" height=\"180\"/\u003e\n\n## 关注「Nodejs技术栈」\n\n由于精力有限目前所有文章主要维护在 Github，同时首发于微信公众号，在微信公众号也按照 “话题标签” 分类做了整理，便于大家在手机端查看。\n\n* Github: https://github.com/qufei1993/Nodejs-Roadmap\n* 关注微信公众号「Nodejs技术栈」对话框底部 “原创好文” -\u003e “话题标签”，[链接直达](http://mp.weixin.qq.com/s?__biz=MzIyNDU2NTc5Mw==\u0026mid=100012388\u0026idx=1\u0026sn=97fc192f6d61c0b50a84e966a3a0e949\u0026chksm=680fbe2a5f78373cfc21ab1d1a95e8d4f78f24066c3d5a612e1a3e388bfef9890230037446f5#rd)。\n\u003chr/\u003e\n\n**未完待续，持续更新中。。。**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqufei1993%2Fnodejs-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqufei1993%2Fnodejs-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqufei1993%2Fnodejs-roadmap/lists"}