{"id":13512112,"url":"https://github.com/aliyr/Nodejs-Developer-Roadmap","last_synced_at":"2025-03-30T22:31:57.530Z","repository":{"id":38434701,"uuid":"172471552","full_name":"aliyr/Nodejs-Developer-Roadmap","owner":"aliyr","description":"A Developer Roadmap to becoming a Node.js developer in 2019","archived":false,"fork":false,"pushed_at":"2022-09-12T21:05:33.000Z","size":3970,"stargazers_count":4812,"open_issues_count":6,"forks_count":586,"subscribers_count":100,"default_branch":"master","last_synced_at":"2024-11-01T14:36:49.641Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/aliyr.png","metadata":{"files":{"readme":"ReadMe-CN.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":"2019-02-25T09:07:14.000Z","updated_at":"2024-10-31T08:22:01.000Z","dependencies_parsed_at":"2022-07-14T06:40:33.829Z","dependency_job_id":null,"html_url":"https://github.com/aliyr/Nodejs-Developer-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/aliyr%2FNodejs-Developer-Roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyr%2FNodejs-Developer-Roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyr%2FNodejs-Developer-Roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyr%2FNodejs-Developer-Roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aliyr","download_url":"https://codeload.github.com/aliyr/Nodejs-Developer-Roadmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390896,"owners_count":20769475,"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":[],"created_at":"2024-08-01T03:01:30.461Z","updated_at":"2025-03-30T22:31:55.117Z","avatar_url":"https://github.com/aliyr.png","language":null,"readme":"# Node.js 开发者指南\n\n\u003e 2019 年 [Node.js](https://nodejs.org/en/) 开发者指南:\n\n你可以在下面找到一张图，该图展示了你可以选取的路径及你想学习的库，从而成为一名 Node.js 开发者。“作为 Node.js 开发者，我接下来应该学习什么？”，我把这张图作为建议给每个问过我这一问题的人。\n\n* 语言: [:cn: 中文](ReadMe-CN.md) | [:uk: English](/ReadMe.md)\n* 作者：[Aliyr](https://github.com/aliyr)\n* 译者：[五月君](https://github.com/Q-Angelo)\n\n## 免责声明\n\n\u003e 该指南的目的是为了给读者有个大概的轮廓。如果你对接下来要学习的内容感到困惑，这张路线图将给你指导，而不是鼓励你选择时髦的东西。你应该逐渐理解为什么一种工具比另一种工具更适合某些场景，并且记住时髦和新颖的东西并不总是意味着最适合这个工作。\n\n## 请给一个星星! :star:\n\n如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案中，请不要吝啬你的小星星哦。谢谢!\n\n## 路线图\n\n![Roadmap](./Node.js-developer-roadmap.cn.png)\n\n## 资源\n\n1. 基础\n\n   - [JavaScript](https://www.w3schools.com/js/)\n   - [NPM](https://docs.npmjs.com/)\n   - [Node.js](https://nodejs.org/en/docs/) | [开源项目 Node.js 技术栈学习指南](https://www.nodejs.red)\n   - ES6/ES7\n\n2. 常用开发技能\n\n   - 学习 GIT, 在 GitHub 上创建一些项目, 并和其他人分享你的代码\n   - 掌握 HTTP(S) 协议, 及其请求方法 (GET, POST, PUT, PATCH, DELETE, OPTIONS)\n   - 不要害怕使用 Google, [使用 Google 进行强力搜索](http://www.powersearchingwithgoogle.com/)\n   - 阅读一些关于算法和数据结构的书籍\n\n3. Web 框架\n\n   1. [Express.js](https://expressjs.com/)\n   2. [Adonis.js](https://adonisjs.com/)\n   3. [Meteor.js](https://www.meteor.com/)\n   4. [Nest.js](https://nestjs.com/)\n   5. [Sails.js](https://sailsjs.com/)\n   6. [Koa.js](https://koajs.com/)\n   7. [Loopback.js](https://loopback.io/)\n   8. [egg.js](https://eggjs.org/zh-cn/)\n   9. [midway](https://midwayjs.org/midway/)\n\n4. 数据库\n\n   1. 关系型\n      1. [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-2017)\n      2. [PostgreSQL](https://www.postgresql.org/)\n      3. [MariaDB](https://mariadb.org/)\n      4. [MySQL](https://www.mysql.com/)\n   2. 云数据库\n      - [CosmosDB](https://docs.microsoft.com/en-us/azure/cosmos-db)\n      - [DynamoDB](https://aws.amazon.com/dynamodb/)\n   3. 搜索引擎\n      - [ElasticSearch](https://www.elastic.co/)\n      - [Solr](http://lucene.apache.org/solr/)\n      - [Sphinx](http://sphinxsearch.com/)\n   4. 非关系型数据库\n      - [MongoDB](https://www.mongodb.com/)\n      - [Redis](https://redis.io/)\n      - [Apache Cassandra](http://cassandra.apache.org/)\n      - [LiteDB](https://github.com/mbdavid/LiteDB)\n      - [RavenDB](https://github.com/ravendb/ravendb)\n      - [CouchDB](http://couchdb.apache.org/)\n\n5. 缓存\n\n   1. [Node-Cache](https://www.npmjs.com/package/node-cache)\n   2. Distributed Cache\n      1. [Redis](https://redis.io/)\n      2. [Memcached](https://memcached.org/)\n   3. [Memory Cache](https://www.npmjs.com/package/memory-cache)\n\n6. 日志\n\n   1. 日志框架\n      - [Node-Loggly](https://www.loggly.com/docs/node-js-logs-2/)\n      - [Winston](https://github.com/winstonjs/winston)\n      - [Node-Bunyan](https://github.com/trentm/node-bunyan)\n      - [Morgan](https://github.com/expressjs/morgan)\n   2. 日志管理系统\n      - [Sentry.io](http://sentry.io)\n      - [Loggly.com](https://loggly.com)\n\n7. 模板引擎\n\n   1. [Mustache.js](https://mustache.github.io/)\n   2. [Handlebars](https://handlebarsjs.com/)\n   3. [EJS](https://ejs.co/)\n   4. [Pug](https://pugjs.org/api/getting-started.html)\n   4. [Nunjunks.js](https://mozilla.github.io/nunjucks/)\n\n8. 实时通信\n\n   1. [Socket.IO](https://socket.io/)\n\n\n9. JavaScript类型的超集\n\n    1. [TypeScript](https://www.typescriptlang.org/)\n    2. [Flow](https://flow.org/)\n\n10. API 客户端\n\n    1. REST\n       - [Request](https://github.com/request/request)\n       - [Node-Rest-Client](https://www.npmjs.com/package/node-rest-client)\n       - [Axios](https://github.com/axios/axios)\n    2. [GraphQL](https://graphql.org/)\n\n11. 最好掌握\n\n    - [Async.js](https://caolan.github.io/async/)\n    - [PM2](http://pm2.keymetrics.io/)\n    - [Commander.js](https://github.com/tj/commander.js/)\n    - [Passport](http://www.passportjs.org/)\n    - [Nodemailer](https://nodemailer.com/about/)\n    - [Marked](https://marked.js.org/#/README.md#README.md)\n    - [JSHint](https://github.com/jshint/jshint)\n\n12. 测试\n\n    1. 单元测试, 行为测试, 集成测试\n       1. [Jest](https://jestjs.io/)\n       2. [Jasmine](https://jasmine.github.io/)\n       3. [Chai](https://www.chaijs.com/)\n       4. [Mocha](https://mochajs.org/)\n       5. [Enzyme](https://github.com/airbnb/enzyme)\n       6. [Sinon](https://sinonjs.org/)\n    2. 端到端测试\n       - [Selenium](https://help.crossbrowsertesting.com/selenium-testing/getting-started/javascript/)\n       - [Puppeteer](https://github.com/GoogleChrome/puppeteer)\n\n13. 任务调度\n\n    - [Agenda](https://github.com/agenda/agenda)\n    - [Cronicle](https://github.com/jhuckaby/Cronicle)\n    - [Node-Schedule](https://www.npmjs.com/package/node-schedule)\n    \n14. 微服务\n\n    1. 消息队列\n       - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html)\n       - [Apache Kafka](https://www.npmjs.com/package/kafka-node)\n       - [ActiveMQ](https://github.com/apache/activemq)\n       - [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview)\n    2. 消息总线\n       - [Distribus](https://distribus.com/)\n       - [BusMQ](https://github.com/capriza/node-busmq)\n\n15. [设计模式](https://www.pluralsight.com/courses/javascript-practical-design-patterns)\n16. [JavaScript 算法与数据结构](https://github.com/trekhleb/javascript-algorithms/)\n\n\n## 总结\n\n如果你认为该指南可以改进，请提交包含任何更新的 PR 并提交任何问题。此外，我将继续改进这个仓库，因此你可以 star 这个仓库以便于重新访问。\n\n灵感来源 : [ASP.NET Core Developer Roadmap](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap)\n\n## 贡献\n\n该指南是使用 [Draw.io](https://www.draw.io/) 构建的。中文版项目文件为 `Node.js-developer-roadmap.cn.xml`。要修改它, 请打开 draw.io, 点击 Open Existing Diagram 并选择项目中的 xml 文件。它将为你渲染生成路线图，更新它，上传和更新自述文件中的图像并创建一个 PR（导出为400%的png图片，然后使用 [Compressor.io](https://compressor.io/compress) 压缩）。\n\n- 改进后提交 PR\n- 在Issues中讨论问题\n- 推广项目\n\n## 许可协议\n\n[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)\n","funding_links":[],"categories":["Others","Roadmaps【[This part forked from awesome-roadmaps](https://github.com/orsanawwad/awesome-roadmaps)】","To Sort","Roadmaps","Related repo:","Programming Language"],"sub_categories":["Helpful resources :girl: :girl: :girl:"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyr%2FNodejs-Developer-Roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliyr%2FNodejs-Developer-Roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyr%2FNodejs-Developer-Roadmap/lists"}