如何通过后端开发场景实战提升项目开发效率?
摘要:Node.jsJavaGo后端项目的AGENTS.md怎么写 承上启下 前端篇写完了,这篇来说说后端项目怎么整。和前端不一样,后端更关注数据处理、业务逻辑、接口设计这些事。不同的后端技术栈,差别还挺大的。我分别说说我用过的几种主流方案。
Node.js/Java/Go后端项目的AGENTS.md怎么写
承上启下
前端篇写完了,这篇来说说后端项目怎么整。和前端不一样,后端更关注数据处理、业务逻辑、接口设计这些事。不同的后端技术栈,差别还挺大的。我分别说说我用过的几种主流方案。
Node.js/Express 项目
Node.js 后端最常用的是 Express 或者 NestJS。我先说 Express,因为简单嘛,大家都懂。
# AGENTS.md - Node.js REST API 项目
## 项目概述
Express.js RESTful API 服务,提供用户管理、商品订单等功能。
## 技术栈
- Node.js 18+
- Express.js
- TypeScript
- PostgreSQL + Prisma
- Jest + Supertest
- JWT 认证
## 开发环境
### 安装依赖
```bash
npm install
启动开发服务器
npm run dev # 支持热重载
运行测试
npm test # 单元测试
npm run test:integration # 集成测试
代码检查
npm run lint
npm run typecheck
数据库
npm run db:migrate # 数据库迁移
npm run db:seed # 种子数据
npm run db:studio # Prisma Studio
项目结构
src/
├── controllers/ # 控制器层
├── services/ # 业务逻辑层
├── repositories/ # 数据访问层
├── models/ # 数据模型
├── middleware/ # 中间件
├── routes/ # 路由定义
├── utils/ # 工具函数
└── types/ # 类型定义
API 规范
RESTful 设计原则
使用标准 HTTP 方法(GET/POST/PUT/DELETE)
资源命名使用复数形式(如 /users, /orders)
路径参数使用冒号(如 /users/:id)
响应格式
// 成功响应
{
"data": { ... },
"meta": { "page": 1, "total": 100 }
}
// 错误响应
{
"error": {
"code": "VALIDATION_ERROR",
"message": "请求参数验证失败",
"details": [...]
}
}
状态码使用
200: 成功
201: 创建成功
400: 请求参数错误
401: 未认证
403: 无权限
404: 资源不存在
500: 服务器错误
代码规范
控制器规范
只做请求解析和响应格式化
不包含业务逻辑
使用 async/await 处理异步
服务层规范
包含所有业务逻辑
使用事务保证数据一致性
错误抛出自定义异常
数据访问层规范
只做数据库操作
不包含业务逻辑
使用 Prisma Transaction
日志规范
禁止使用 console.log
使用 pino 日志库
区分日志级别(info/warn/error)
包含请求 ID 方便追踪
测试要求
测试分层
控制器层:请求/响应测试
服务层:单元测试(mock 依赖)
集成测试:使用测试数据库
测试覆盖率
目标:80% 以上
提交前必须通过所有测试
安全约束
禁止硬编码密钥和凭证
敏感配置使用环境变量
密码必须使用 bcrypt 哈希存储
所有接口实现速率限制
CORS 配置白名单域名
注意事项
中间件顺序:先认证,后业务
数据库连接使用连接池
大数据量使用分页
敏感操作记录日志
## NestJS 项目
NestJS 现在很火,它是基于依赖注入的企业级框架,写法和原生 Express 不太一样。
