1. 首页
  2. /
  3. 60天Node.js
  4. /
  5. Day 10
🌱 阶段 1 · Node.js 核心

Day 10

🏆 里程碑:迷你项目 Review

📋 今日目标

  • 回顾和重构 Day 1-9 的所有代码
  • 完善项目结构和代码质量
  • 编写完整的 README 和 API 文档
  • 将项目提交到 GitHub
  • 自我评估:确认阶段一前半部分的核心知识掌握情况

📖 今日任务

1. 项目整理与重构

将 Day 8-9 构建的 TODO API 整理为一个完整的项目:

mini-todo-api/
├── README.md
├── package.json
├── src/
│   ├── index.js            # 入口文件
│   ├── router.js            # 路由器
│   ├── middleware.js         # 中间件引擎
│   ├── routes/
│   │   └── todos.js         # TODO 路由定义
│   ├── middlewares/
│   │   ├── logger.js
│   │   ├── cors.js
│   │   ├── json-parser.js
│   │   ├── error-handler.js
│   │   └── rate-limiter.js
│   ├── errors/
│   │   └── app-error.js     # 自定义错误类
│   └── utils/
│       └── response.js      # 响应工具函数
└── .gitignore

2. 代码质量检查清单

对你的代码进行以下检查:

  • 命名规范:变量、函数名是否清晰表达含义?
  • 错误处理:所有可能出错的地方都有 try/catch 吗?
  • 输入验证:所有用户输入都进行了验证吗?
  • 注释:关键逻辑是否有注释?
  • 一致性:代码风格是否统一?
  • 无硬编码:端口号、限制值等是否可配置?
  • 无 console.log 调试代码:清理调试代码了吗?

3. 编写 README

一个好的 README 应包含:

# Mini TODO API

一个用原生 Node.js(零依赖)构建的 RESTful TODO API。

## 功能特性
- ✅ 完整的 CRUD 操作
- ✅ 自定义路由器(支持动态参数)
- ✅ 中间件体系(Logger/CORS/JSON Parser/Error Handler)
- ✅ 请求验证
- ✅ 分页、过滤、排序
- ✅ Rate Limiting

## 快速开始

\```bash
node src/index.js
\```

## API 文档

### 获取所有 TODO
\```
GET /api/todos?page=1&limit=10&completed=true&sort=priority&order=desc
\```

### 创建 TODO
\```
POST /api/todos
Content-Type: application/json

{
  "title": "学习 Node.js",
  "priority": 3
}
\```

(... 其他接口文档 ...)

## 架构说明
(简要描述你的中间件模式和路由匹配原理)

## 学到了什么
(总结你在这个过程中的收获)

4. Git 提交与推送

cd mini-todo-api
git init
echo "node_modules/" > .gitignore
git add .
git commit -m "feat: 用原生 Node.js 实现 RESTful TODO API"

5. 知识回顾测验

用自己的话回答以下问题(写在笔记中):

Node.js 基础:

  1. Node.js 的事件循环有哪六个阶段?
  2. process.nextTickPromise.thensetTimeoutsetImmediate 的执行优先级是什么?
  3. 为什么 Node.js 是单线程但能处理高并发?
  4. BufferStream 分别解决什么问题?

HTTP 与 API: 5. 401 和 403 状态码的区别是什么? 6. HTTP 的幂等性是什么意思?哪些方法是幂等的? 7. CORS 预检请求(OPTIONS)在什么情况下触发?

代码设计: 8. 中间件模式的核心是什么?next() 的作用是什么? 9. CommonJS 和 ESModule 的主要区别是什么? 10. 为什么服务端必须做输入验证?前端验证不够吗?


✅ 今日产出

  • 完成项目重构,代码结构清晰
  • 编写完整的 README 和 API 文档
  • 通过代码质量检查清单
  • 提交代码到 GitHub
  • 完成 10 道回顾测验题
  • 写一篇 Day 1-10 的学习总结

🎉 恭喜!

你已经完成了第一个里程碑!此时你应该能够:

  • ✅ 用原生 Node.js 从零构建 HTTP 服务
  • ✅ 理解路由匹配和中间件的底层原理
  • ✅ 独立设计和实现 RESTful API
  • ✅ 正确处理错误和验证输入

接下来的 Day 11-15 将补充 TypeScript、进程管理和调试技巧,为进入框架阶段做准备。


⬅️ Day 09 — 手写 REST API(下) | ➡️ Day 11 — TypeScript 服务端开发

本文内容来自 源仓库 day-10/README.md