{"id":13452761,"url":"https://github.com/alsotang/node-lessons","last_synced_at":"2025-05-13T19:03:01.190Z","repository":{"id":21493953,"uuid":"24812854","full_name":"alsotang/node-lessons","owner":"alsotang","description":":closed_book:《Node.js 包教不包会》 by alsotang","archived":false,"fork":false,"pushed_at":"2022-02-15T02:04:44.000Z","size":2073,"stargazers_count":16539,"open_issues_count":93,"forks_count":4681,"subscribers_count":1103,"default_branch":"master","last_synced_at":"2025-04-27T08:37:30.929Z","etag":null,"topics":["javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/alsotang.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":"2014-10-05T09:57:08.000Z","updated_at":"2025-04-24T07:20:47.000Z","dependencies_parsed_at":"2022-07-13T15:59:21.620Z","dependency_job_id":null,"html_url":"https://github.com/alsotang/node-lessons","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/alsotang%2Fnode-lessons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsotang%2Fnode-lessons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsotang%2Fnode-lessons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsotang%2Fnode-lessons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alsotang","download_url":"https://codeload.github.com/alsotang/node-lessons/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010792,"owners_count":21998993,"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":["javascript","nodejs"],"created_at":"2024-07-31T08:00:22.501Z","updated_at":"2025-05-13T19:03:01.173Z","avatar_url":"https://github.com/alsotang.png","language":"JavaScript","readme":"# 《Node.js 包教不包会》 -- by alsotang\n\n## 注意\n\n本书写成于 2015 年，其中的某些最佳实践或许已经发生变化。比如异步处理应更多使用 `Promise` 与 `await/async`，但本书未有提及。由于 js 一直向后兼容，所以本书中的内容仍然可以正常在生产环境中使用。\n\n## 为何写作此课程\n\n\n在 CNode(https://cnodejs.org/) 混了那么久，解答了不少 Node.js 初学者们的问题。回头想想，那些问题所需要的思路都不难，但大部分人由于练手机会少，所以在遇到问题的时候很无措。国内唯一一本排的上号的 Node.js 书是 @朴灵(https://github.com/JacksonTian) 的 《深入浅出Node.js》(http://book.douban.com/subject/25768396/ )，但这本书离实战还是比较远的。\n\n这个课程是希望提供更多的 Node.js 实战机会，通过每一节精心安排的课程目标，让 Node.js 的初学者们可以循序渐进地，有目的有挑战地开展 Node.js 的学习。\n\n## 广告\n\n**需要内推腾讯的同学请参照此贴：** https://cnodejs.org/topic/58351689bde2b59e06141e9f\n\n更多 Node.js 入门资料请前往：https://cnodejs.org/getstart\n\n新手搭建 Node.js 云主机，推荐使用无需备案的 [DigitalOcean(https://www.digitalocean.com/)](https://www.digitalocean.com/?refcode=eba02656eeb3)\n\n## 课程列表\n\n* Lesson 0: [《搭建 Node.js 开发环境》](https://github.com/alsotang/node-lessons/tree/master/lesson0)\n* Lesson 1: [《一个最简单的 express 应用》](https://github.com/alsotang/node-lessons/tree/master/lesson1)\n* Lesson 2: [《学习使用外部模块》](https://github.com/alsotang/node-lessons/tree/master/lesson2)\n* Lesson 3: [《使用 superagent 与 cheerio 完成简单爬虫》](https://github.com/alsotang/node-lessons/tree/master/lesson3)\n* Lesson 4: [《使用 eventproxy 控制并发》](https://github.com/alsotang/node-lessons/tree/master/lesson4)\n* Lesson 5: [《使用 async 控制并发》](https://github.com/alsotang/node-lessons/tree/master/lesson5)\n* Lesson 6: [《测试用例：mocha，should，istanbul》](https://github.com/alsotang/node-lessons/tree/master/lesson6)\n* Lesson 7: [《浏览器端测试：mocha，chai，phantomjs》](https://github.com/alsotang/node-lessons/tree/master/lesson7) -- by [@elrrrrrrr](https://github.com/elrrrrrrr)\n* Lesson 8: [《测试用例：supertest》](https://github.com/alsotang/node-lessons/tree/master/lesson8)\n* Lesson 9: [《正则表达式》](https://github.com/alsotang/node-lessons/tree/master/lesson9)\n* Lesson 10: [《benchmark 怎么写》](https://github.com/alsotang/node-lessons/tree/master/lesson10)\n* Lesson 11: [《作用域与闭包：this，var，(function () {})》](https://github.com/alsotang/node-lessons/tree/master/lesson11) -- by [@Ricardo-Li](https://github.com/Ricardo-Li/)\n* Lesson 12: [《线上部署：heroku》](https://github.com/alsotang/node-lessons/tree/master/lesson12)\n* Lesson 13: [《持续集成平台：travis》](https://github.com/alsotang/node-lessons/tree/master/lesson13)\n* Lesson 14: [《js 中的那些最佳实践》](https://github.com/alsotang/node-lessons/tree/master/lesson14)\n* Lesson 15: [《Mongodb 与 Mongoose 的使用》](https://github.com/alsotang/node-lessons/tree/master/lesson15)\n* Lesson 16: [《cookie 与 session》](https://github.com/alsotang/node-lessons/tree/master/lesson16) -- by [@Ricardo-Li](https://github.com/Ricardo-Li/)\n* Lesson 17: [《使用 promise 替代回调函数》](https://github.com/alsotang/node-lessons/tree/master/lesson17) -- by [@eeandrew](https://github.com/eeandrew)\n* Lesson 18: [《何为 connect 中间件》](https://github.com/alsotang/node-lessons/tree/master/lesson18) -- by [@albin3](https://github.com/albin3)\n\n## 计划\n\n* 《http 中各个 header 的含义》\n* 《操作 mysql》\n* 《在全新的 vps 上搭建 node.js、mongodb、nginx》\n* 《一个简单的 blog 程序》\n\n## 本课程特点\n\n* 每一课的课程挑战如果有能力完成，则可考虑放弃阅读课程内容\n* 对 web 开发初学者不友好，对 Windows 用户不友好，对 ruby on rails 开发者友好\n* 内容笼统，课程重点随心所欲\n\n## License\n\nMIT\n","funding_links":[],"categories":["JavaScript","Resources","Javascript","目录","Uncategorized","书籍 / 阅读"],"sub_categories":["Tutorials","Node.js相关","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falsotang%2Fnode-lessons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falsotang%2Fnode-lessons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falsotang%2Fnode-lessons/lists"}