Appearance
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
- 访问 Node.js 官网
- 下载 LTS 版本安装包
- 运行安装程序
- 验证安装:
node -v和npm -v
macOS
- 访问 Node.js 官网
- 下载 LTS 版本安装包
- 运行安装程序
- 验证安装:
node -v和npm -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 npmNode.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. 测试
- 单元测试
- 集成测试
- 端到端测试
学习资源
实践练习
- 创建一个简单的 HTTP 服务器
- 实现一个文件读写操作
- 构建一个 RESTful API