后端技术
后端模块关注 API 服务、数据库设计、服务端框架、桌面端后端能力和系统架构实践。当前内容以 Node.js、Koa、Sequelize、Rust/Tauri、API 设计和数据库设计为主。
模块导航
| 主题 | 内容 | 适用场景 |
|---|---|---|
| Express 与 Koa 对比 | 框架设计差异、中间件模型、选型建议 | Node.js Web 框架选型 |
| Koa 2 开发指南 | 项目结构、路由、中间件、数据库连接 | 搭建轻量 API 服务 |
| Sequelize ORM | 模型定义、关联关系、迁移和查询 | 关系型数据库业务开发 |
| Tauri 2.0 | Tauri 基础、命令、配置、桌面端能力 | 构建跨平台桌面应用 |
| Tauri + Vue | 前后端集成、Vite 配置、调用 Rust 命令 | Vue 桌面应用开发 |
| API 设计最佳实践 | REST 规范、错误码、认证、文档、版本管理 | 对外或团队内部 API 规范化 |
| 数据库设计 | 表结构、索引、事务、范式、性能优化 | 设计稳定可扩展的数据层 |
后端设计主线
一个可维护的后端系统通常由四层组成:
- 接入层:处理路由、认证、参数校验、限流和跨域。
- 业务层:封装业务规则,避免把复杂逻辑散落在路由处理函数中。
- 数据层:负责 ORM、SQL、缓存、事务和数据一致性。
- 基础设施层:日志、监控、配置、队列、定时任务和部署能力。
推荐项目结构
text
src/
app.js # 应用入口和中间件装配
config/ # 环境配置
routes/ # 路由定义
controllers/ # 请求参数处理和响应组织
services/ # 业务逻辑
models/ # ORM 模型
repositories/ # 数据访问封装,可按项目复杂度决定是否需要
middlewares/ # 认证、错误处理、日志等中间件
validators/ # 参数校验规则
utils/ # 通用工具API 开发清单
- 路径使用名词复数:例如
/users、/orders。 - 使用 HTTP 方法表达动作:
GET查询、POST创建、PUT/PATCH更新、DELETE删除。 - 响应结构保持一致:成功、失败、分页、空数据都有固定格式。
- 参数校验前置:不要把未校验数据传入业务层或数据库层。
- 错误码可定位:业务错误、权限错误、参数错误和系统错误要区分。
- 接口文档同步:字段含义、示例、错误响应和鉴权方式要明确。
数据库设计清单
- 主键、唯一约束、外键或逻辑关联要在设计阶段明确。
- 高频查询字段建立索引,但避免无依据地堆叠索引。
- 金额、库存、状态流转等关键数据需要事务保护。
- 删除策略要统一:物理删除、软删除、归档表不要混用。
- 表字段要表达业务含义,避免过度使用
json字段承载核心关系。 - 迁移脚本要能重复审查和回滚,生产库变更必须可追踪。
安全基线
- 所有入口参数都要校验和归一化。
- 密码只存哈希值,不存明文。
- 鉴权和授权分开处理:登录成功不代表拥有所有资源权限。
- 敏感配置放在环境变量或密钥管理系统中,不提交到仓库。
- 日志避免输出 token、密码、身份证、手机号等敏感信息。
- 对登录、短信、导出、批量操作等高风险接口增加限流或审计。
交付前检查
bash
npm run test
npm run lint
npm run build后端项目还应补充接口自测、数据库迁移验证、关键日志检查和生产环境配置核对。
