Skip to content

Node.js 介绍

什么是 Node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许在服务器端运行 JavaScript 代码。Node.js 采用事件驱动、非阻塞 I/O 模型,使其轻量且高效,非常适合构建可扩展的网络应用。

Node.js 的历史

  • 2009年:Ryan Dahl 发布 Node.js
  • 2010年:npm(Node Package Manager)发布
  • 2011年:Express 框架发布
  • 2014年:Node.js 基金会成立
  • 2015年:io.js 与 Node.js 合并
  • 2016年:Node.js v6 LTS 发布
  • 2018年:Node.js v10 LTS 发布
  • 2020年:Node.js v14 LTS 发布
  • 2022年:Node.js v18 LTS 发布

Node.js 的特点

1. 非阻塞 I/O

  • 采用事件驱动模型
  • 异步处理 I/O 操作
  • 避免线程阻塞
  • 提高应用性能

2. 单线程

  • 主线程是单线程的
  • 使用事件循环处理并发
  • 避免线程切换的开销
  • 简化编程模型

3. 跨平台

  • 支持 Windows、macOS、Linux 等平台
  • 统一的开发环境
  • 便于部署和维护

4. 丰富的包生态

  • npm 是世界上最大的开源包管理器
  • 超过 100 万个可用包
  • 快速安装和使用第三方库

5. 适合实时应用

  • 支持 WebSocket
  • 适合构建实时通信应用
  • 低延迟

Node.js 的应用场景

1. Web 服务器

  • 构建 RESTful API
  • 处理 HTTP 请求
  • 静态文件服务

2. 实时应用

  • 聊天应用
  • 实时协作工具
  • 在线游戏

3. 微服务

  • 构建轻量级微服务
  • 服务间通信
  • 容器化部署

4. 命令行工具

  • 构建 CLI 工具
  • 自动化脚本
  • 开发工具

5. 物联网

  • 设备通信
  • 数据收集和处理
  • 边缘计算

安装 Node.js

Windows

  1. 访问 Node.js 官网
  2. 下载 LTS 版本安装包
  3. 运行安装程序
  4. 验证安装:node -vnpm -v

macOS

  1. 访问 Node.js 官网
  2. 下载 LTS 版本安装包
  3. 运行安装程序
  4. 验证安装:node -vnpm -v

Linux

bash
# 使用 nvm 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts

# 或使用包管理器
sudo apt update
sudo apt install nodejs npm

Node.js 核心模块

1. fs(文件系统)

  • 读写文件
  • 目录操作
  • 文件权限管理

2. http/https

  • 创建 HTTP 服务器
  • 发送 HTTP 请求
  • 处理 HTTP 响应

3. path

  • 路径处理
  • 路径解析
  • 路径拼接

4. url

  • URL 解析
  • URL 格式化
  • 查询字符串处理

5. events

  • 事件发射器
  • 事件监听
  • 事件触发

6. stream

  • 流处理
  • 数据传输
  • 管道操作

Node.js 最佳实践

1. 代码组织

  • 模块化设计
  • 合理的目录结构
  • 代码风格一致

2. 错误处理

  • 正确处理异步错误
  • 使用 try-catch
  • 错误日志记录

3. 性能优化

  • 使用异步 I/O
  • 避免阻塞操作
  • 合理使用缓存

4. 安全性

  • 防止注入攻击
  • 验证用户输入
  • 使用 HTTPS

5. 测试

  • 单元测试
  • 集成测试
  • 端到端测试

学习资源

实践练习

  1. 创建一个简单的 HTTP 服务器
  2. 实现一个文件读写操作
  3. 构建一个 RESTful API

基于 VitePress 的本地知识库