Node.js Express 框架入门¶
简介¶
Express.js 是 Node.js 最流行的 Web 应用框架,它提供了一套简洁而灵活的特性来开发 Web 和移动应用。Express 是一个最小化且灵活的框架,为 Web 和移动应用提供了一系列强大的功能。
目录¶
环境准备¶
安装 Node.js¶
确保你的系统已安装 Node.js(建议使用 LTS 版本):
Bash | |
---|---|
1 2 3 4 5 |
|
创建项目¶
Bash | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
快速开始¶
基础服务器¶
创建 app.js
文件:
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
项目结构¶
Text Only | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
路由系统¶
基础路由¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
路由参数¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
路由模块化¶
创建 routes/users.js
:
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
在主应用中使用:
JavaScript | |
---|---|
1 2 |
|
中间件¶
内置中间件¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
第三方中间件¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
自定义中间件¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
模板引擎¶
使用 EJS¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
创建 views/profile.ejs
:
HTML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
错误处理¶
基础错误处理¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
自定义错误类¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
数据库集成¶
使用 MongoDB (Mongoose)¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
使用 MySQL (Sequelize)¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
身份验证¶
JWT 认证¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
|
文件上传¶
使用 Multer¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
API 设计¶
RESTful API 示例¶
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
|
测试¶
使用 Jest 和 Supertest¶
Bash | |
---|---|
1 |
|
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
部署¶
使用 PM2¶
Bash | |
---|---|
1 |
|
创建 ecosystem.config.js
:
JavaScript | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Bash | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
Docker 部署¶
创建 Dockerfile
:
Docker | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
创建 docker-compose.yml
:
YAML | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
最佳实践¶
1. 项目结构¶
- 使用模块化的项目结构
- 分离路由、控制器和服务层
- 使用配置文件管理环境变量
2. 安全性¶
- 使用 Helmet.js 设置安全头部
- 实施输入验证和清理
- 使用 HTTPS
- 实施速率限制
3. 性能优化¶
- 使用压缩中间件
- 实施缓存策略
- 使用连接池
- 监控应用性能
4. 错误处理¶
- 实施全局错误处理
- 使用适当的 HTTP 状态码
- 记录错误日志
- 不要暴露敏感信息
5. 代码质量¶
- 使用 ESLint 和 Prettier
- 编写单元测试和集成测试
- 使用 TypeScript(可选)
- 遵循 RESTful API 设计原则
最后更新时间:2024年