Skip to main content

Node.js 核心知识

核心知识点

基础概念

  • 事件驱动架构
  • 非阻塞 I/O
  • 单线程与多线程
  • 异步编程模型

事件驱动架构

  • timers: this phase executes callbacks scheduled by setTimeout() and setInterval().
  • pending callbacks: executes I/O callbacks deferred to the next loop iteration.
  • idle, prepare: only used internally.
  • poll: retrieve new I/O events; execute I/O related callbacks (almost all with the exception of close callbacks, the ones scheduled by timers, and setImmediate()); node will block here when appropriate.
  • check: setImmediate() callbacks are invoked here.
  • close callbacks: some close callbacks, e.g. socket.on('close', ...).

核心模块

  • HTTP/HTTPS
  • 文件系统(fs)
  • 路径(path)
  • 流(stream)
  • 事件(events)
  • 缓冲区(buffer)
  • 进程(process)
  • 查询字符串(querystring)
  • URL 解析

NPM(Node 包管理器)

  • 包管理
  • package.json 文件
  • 依赖管理

网络编程

  • 创建 HTTP/HTTPS 服务器
  • RESTful API 设计
  • WebSocket 通信
  • TCP/UDP 服务器

异步处理

  • 回调函数
  • Promises
  • Async/Await
  • 事件循环

中间件

  • 理解和使用中间件
  • Express.js 框架的中间件

数据库交互

  • SQL(如 PostgreSQL, MySQL)与 NoSQL(如 MongoDB, Redis)数据库
  • ORM 工具(如 Sequelize, TypeORM)

认证与授权

  • JSON Web Tokens (JWT)
  • OAuth
  • Passport.js

错误处理

  • 异常捕获
  • 错误传递

日志记录

  • 使用如 winston 或 morgan 的日志记录库

测试

  • 单元测试(如 Jest, Mocha)
  • 集成测试

调试

  • Node.js 调试器
  • Chrome DevTools 集成

性能优化

  • 性能监控
  • 分析和优化技巧

部署

  • 容器化(如 Docker)
  • CI/CD 流程
  • 云平台部署(如 AWS, Azure)

框架和工具

  • Express.js, Koa, Hapi 等框架
  • Webpack, Babel 等构建工具

安全性

  • HTTPS 配置
  • 安全头部
  • 依赖安全性
  • 防止常见攻击(如 XSS, CSRF)

微服务架构

  • 了解微服务概念
  • 实现微服务的工具和框架(如 Micro, Seneca)

环境变量管理

  • 使用 dotenv 库
  • 管理配置

国际化

  • 实现多语言支持

Node.js 与前端集成

  • 使用 Node.js 作为前端开发环境(如使用 React, Angular, Vue.js)

开发实践和原则

  • 代码组织和模块化
  • 遵循编码风格和规范(如 ESLint)
  • 维护和文档化
  • 设计模式在 Node.js 中的应用

Node.js 的生态系统

  • 理解和利用大量的 NPM 包
  • 社区和贡献

Resource