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

Day 15

🎯 阶段一总结与测验

📋 今日目标

  • 回顾 Day 1-14 的核心知识点
  • 完成三个限时编码挑战
  • 自我评估知识掌握情况
  • 制作阶段一思维导图/学习笔记

📖 知识体系回顾

阶段一知识地图

Node.js 核心基础
├── 运行时环境
│   ├── Node.js vs 浏览器 JS
│   ├── process 全局对象
│   └── 全局对象与模块作用域
│
├── 模块系统
│   ├── CommonJS(require/module.exports)
│   ├── ESModule(import/export)
│   └── 模块解析算法
│
├── 核心模块
│   ├── fs/promises — 文件系统
│   ├── path — 路径处理
│   ├── os — 系统信息
│   ├── events — EventEmitter
│   ├── stream — 流式处理
│   └── buffer — 二进制数据
│
├── 事件循环
│   ├── 六个阶段
│   ├── nextTick vs setImmediate
│   ├── 微任务与宏任务
│   └── libuv 与 I/O 多路复用
│
├── 异步编程
│   ├── Callback → Promise → async/await
│   ├── Promise 并发方法(all/allSettled/race/any)
│   ├── 并发限制(asyncPool)
│   └── 常见陷阱(forEach+async、未捕获 rejection)
│
├── HTTP 与 API
│   ├── HTTP 方法语义与幂等性
│   ├── 状态码精确使用
│   ├── CORS 完整机制
│   ├── RESTful API 设计规范
│   └── 原生 Node.js HTTP 服务器
│
├── 代码架构
│   ├── 中间件模式
│   ├── 路由匹配
│   ├── 请求验证
│   └── 错误处理体系
│
├── TypeScript
│   ├── tsconfig.json 服务端配置
│   ├── 接口与类型定义
│   ├── 类型守卫
│   └── 泛型
│
└── 进程与调试
    ├── child_process
    ├── worker_threads
    ├── cluster 模式
    ├── 全局错误捕获
    └── 调试工具

💻 限时编码挑战

挑战 1:HTTP 文件服务器(30 分钟)

用原生 Node.js 实现一个文件浏览和下载服务器:

  • 访问目录时显示文件列表(HTML 页面)
  • 点击文件名可以下载
  • 正确的 Content-Type
  • 支持子目录浏览

挑战 2:并发爬虫(30 分钟)

编写一个简易爬虫,给定一组 URL:

  • 并发抓取(最大并发数 5)
  • 提取每个页面的 <title>
  • 支持超时(10 秒)
  • 统计成功/失败数量
  • 将结果保存为 JSON 文件

挑战 3:实时日志监控(20 分钟)

实现一个实时日志监控工具:

  • 监控指定的日志文件
  • 新增的行实时输出到终端
  • 高亮 ERROR 级别的日志(红色)
  • 统计各级别日志数量

📝 自我评估

对以下每个知识点,用 1-5 分评估掌握程度:

知识点评分 (1-5)备注
模块系统(CJS/ESM)
文件系统操作
事件循环六阶段
Stream 流式处理
async/await 与并发控制
HTTP 协议与状态码
中间件模式
RESTful API 设计
TypeScript 类型系统
错误处理与调试

评分 < 3 的项目,建议回去复习对应的 Day。


✅ 今日产出

  • 完成三个限时编码挑战
  • 完成自我评估表
  • 制作阶段一思维导图/学习笔记
  • 将薄弱项标记,在后续学习中重点关注

🎉 阶段一完成!

恭喜你完成了 Node.js 核心基础阶段!你现在应该能够:

  • ✅ 深入理解 Node.js 的运行时原理
  • ✅ 从零构建 HTTP 服务器和 REST API
  • ✅ 用 TypeScript 编写类型安全的服务端代码
  • ✅ 正确处理异步编程和错误

接下来进入阶段二,你将学习 NestJS 企业级框架和 PostgreSQL 数据库,开始构建真正的后端应用。


⬅️ Day 14 — 错误处理与调试 | ➡️ Day 16 — NestJS 入门

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