Node.js 后端成长:Express 框架搭建 API 服务的 4 个关键步骤(附中间件封装)
·
Node.js 后端成长:Express 框架搭建 API 服务的 4 个关键步骤
步骤 1:项目初始化与依赖安装
- 创建项目目录并初始化:
mkdir express-api && cd express-api npm init -y - 安装核心依赖:
npm install express body-parser - 基础文件结构:
├── server.js # 主入口文件 ├── routes/ # 路由模块 ├── middleware/ # 中间件目录 └── package.json
步骤 2:构建基础 Express 服务器
在 server.js 中:
const express = require('express');
const app = express();
const PORT = 3000;
// 基础中间件(解析请求体)
app.use(express.json());
// 测试路由
app.get('/', (req, res) => {
res.send('API 运行中');
});
// 启动服务器
app.listen(PORT, () => {
console.log(`服务已启动:http://localhost:${PORT}`);
});
关键点:
express.json()处理 JSON 格式请求- 路由通过
app.METHOD()定义(如 $ \text{GET} $, $ \text{POST} $)
步骤 3:模块化路由设计
- 在
routes/userRoutes.js中:const router = require('express').Router(); router.get('/users', (req, res) => { res.json([{ id: 1, name: "张三" }]); }); router.post('/users', (req, res) => { const newUser = req.body; // 业务逻辑处理... res.status(201).json(newUser); }); module.exports = router; - 在
server.js中挂载路由:const userRoutes = require('./routes/userRoutes'); app.use('/api', userRoutes); // 访问路径:/api/users
优势:
- 解耦业务逻辑
- 支持路由前缀(如
/api)
步骤 4:中间件封装与应用
示例:封装日志中间件
在 middleware/logger.js 中:
const logger = (req, res, next) => {
const timestamp = new Date().toISOString();
console.log(`[${timestamp}] ${req.method} ${req.url}`);
next(); // 传递控制权
};
module.exports = logger;
在服务器中加载中间件:
// server.js
const logger = require('./middleware/logger');
app.use(logger); // 全局应用
// 路由级中间件(仅对特定路由生效)
app.use('/api', logger, userRoutes);
中间件类型:
- 应用级中间件:
app.use()全局生效 - 路由级中间件:绑定到特定路由
- 错误处理中间件:需包含四个参数 $(err, req, res, next)$
完整目录结构示例
express-api/
├── server.js
├── middleware/
│ ├── logger.js
│ └── auth.js # 认证中间件示例
├── routes/
│ ├── userRoutes.js
│ └── productRoutes.js
└── package.json
最佳实践:
- 使用
dotenv管理环境变量- 错误处理中间件放在路由后
- 中间件执行顺序影响逻辑流(按声明顺序执行)
更多推荐
所有评论(0)