ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

Agentic Awesome Skills 项目实践:基于 Express.js + TypeScript + Prisma 的 REST API 模板全解析

Agentic Awesome Skills 项目实践:基于 Express.js + TypeScript + Prisma 的 REST API 模板全解析 Agentic Awesome Skills 项目实践基于 Express.js TypeScript Prisma 的 REST API 模板全解析【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,600 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/GitHub_Trending/an/agentic-awesome-skills导读本文以 Agentic Awesome SkillsAAS仓库中 app-builder 技能的 express-api 项目模板 为核心主体系统拆解一套以 Node.js 20、Express.js、TypeScript、PostgreSQL Prisma、Zod、JWT bcrypt 为技术栈的 REST API 脚手架原则。读完本文你将掌握这套模板的目录分层、中间件装配顺序、统一响应契约、初始化命令与工程最佳实践并理解它如何在 AAS 的 app-builder 编排体系中通过关键词检测被自动选中作为 Agent 快速落地 API 服务的基线规范。模板定位App Builder 技能树中的 REST API 分支在 AAS 仓库中express-api 模板并不是孤立存在的文件而是 app-builder 技能 下 13 个项目模板之一。该技能整体承担应用构建编排器职责分析用户自然语言请求 → 判定项目类型 → 选择技术栈 → 规划目录结构 → 协调多个专职 Agent 分工实施。在 templates/SKILL.md 的模板索引表中express-api对应的技术栈标记为 Express JWT适用场景明确为REST API在 project-detection.md 的关键词矩阵中当用户请求中出现api、backend、service、rest等关键词时项目类型被判定为 API Service并自动路由到express-api模板该技能同时维护了配套的 tech-stack.md2025 默认技术栈选型与 scaffolding.md目录结构与核心文件原则本文讨论的模板正是这些全局原则在纯后端 API场景下的具体落地。因此这套模板的目标读者与使用者是需要从零搭建后端服务的 Agent 或开发者希望获得一套开箱即用、结构清晰、类型安全、带鉴权与校验能力的 Express 工程基线。技术栈总览模板在 frontmatter 中声明了核心定位Express.js REST API template principles. TypeScript, Prisma, JWT.并以表格固化了一组默认选型组件技术运行时Node.js 20框架Express.js语言TypeScript数据库PostgreSQL Prisma校验Zod鉴权JWT bcrypt这组选型与 AAS 全局技术栈文档 tech-stack.md 的默认方向保持一致数据库首选 PostgreSQL、ORM 首选 Prisma/Drizzle、校验首选 Zod/TypeBox。可以推断模板把后端 API 场景收敛为一条确定性的技术路径Express 负责 HTTP 层Prisma 负责类型安全的数据库访问Zod 负责运行时输入校验JWT bcrypt 负责身份认证与密码哈希TypeScript 在编译期提供全链路类型保障。需要说明的适用前提Node.js 20 是模板声明的最低运行时版本要求PostgreSQL 是 Prisma 的默认数据库目标实际使用时需在prisma/schema.prisma中配置正确的数据源连接串。目录结构分层架构的物理映射模板给出了标准的目录骨架这是整套工程规范的核心骨架完整继承如下project-name/ ├── prisma/ │ └── schema.prisma ├── src/ │ ├── app.ts # Express setup │ ├── config/ # Environment │ ├── routes/ # Route handlers │ ├── controllers/ # Business logic │ ├── services/ # Data access │ ├── middleware/ │ │ ├── auth.ts # JWT verify │ │ ├── error.ts # Error handler │ │ └── validate.ts # Zod validation │ ├── schemas/ # Zod schemas │ └── utils/ └── package.json该结构与 scaffolding.md 中强调的分层架构、职责单一原则一脉相承每一层有明确边界prisma/schema.prisma唯一的数据库模型定义入口数据模型、枚举、关系都在此声明是后续迁移与类型生成的源头src/app.tsExpress 应用装配入口负责注册中间件栈、挂载路由、启动服务src/config/集中管理环境变量读取与配置对象避免配置散落各处对应最佳实践Environment-based configsrc/routes/只做 URL 到 handler 的映射保持薄路由具体逻辑下沉到 controllersrc/controllers/业务编排层接收请求、调用 service、组装响应对应最佳实践Layer architecture的中间层src/services/数据访问层封装 Prisma 查询与领域操作controller 不直接触碰数据库src/middleware/auth.tsJWT 校验中间件保护需要认证的路由src/middleware/error.ts全局错误处理中间件统一输出错误响应src/middleware/validate.ts基于 Zod schema 的请求校验中间件src/schemas/集中存放 Zod schema供校验中间件与类型推导复用src/utils/通用工具函数。可复制执行的目录创建命令如下示例mkdir -p project-name/src/{config,routes,controllers,services,middleware,schemas,utils} mkdir -p project-name/prisma中间件栈请求生命周期的装配顺序模板明确规定了中间件装配的六步顺序这一顺序直接影响请求处理的安全性与正确性顺序中间件职责1helmet安全防护设置各类 HTTP 安全响应头2cors跨域资源共享配置3morganHTTP 请求日志4body parsing解析 JSON/urlencoded 请求体5routes业务路由6error handler统一错误兜底顺序背后的原理可以这样理解helmet 与 cors 属于全局安全前置必须在任何业务逻辑前生效morgan 记录请求日志应尽早介入以捕获完整请求信息body parsing 必须在路由之前执行否则控制器拿不到请求体错误处理中间件必须放在最后才能捕获前面所有环节抛出的异常。这是 Express 中间件洋葱模型的标准排布方式。对应的装配示例依据模板顺序展开import express from express; import helmet from helmet; import cors from cors; import morgan from morgan; import { errorHandler } from ./middleware/error; import routes from ./routes; const app express(); app.use(helmet()); // 1. security headers app.use(cors()); // 2. cross-origin app.use(morgan(dev)); // 3. logging app.use(express.json()); // 4. body parsing app.use(routes); // 5. business routes app.use(errorHandler); // 6. error handler export { app };API 响应契约统一的数据信封模板定义了前后端约定俗成的统一响应结构这是团队协作与前端类型化的基础类型结构成功{ success: true, data: {...} }失败{ error: message, details: [...] }成功响应统一包一层success: true布尔标记与data数据负载客户端据此无需再自行判断状态码语义错误响应使用error字段承载人类可读的错误信息details数组用于携带结构化细节典型场景是 Zod 校验失败时的字段级错误列表。这一契约由middleware/error.ts全局错误处理器与middleware/validate.tsZod 校验失败转换共同保障确保所有路由共享同一套错误格式。示例错误响应形状{ error: Validation failed, details: [ { field: email, message: Invalid email address } ] }初始化步骤从空目录到可运行服务模板给出了六步初始化流程这是落地最快的路径创建项目目录mkdir project-name初始化包管理npm init -y安装依赖npm install express prisma zod bcrypt jsonwebtoken配置 Prismanpx prisma init生成 schema 与连接配置并在prisma/schema.prisma中声明数据模型推送数据库结构npm run db:push对应prisma db push将 schema 同步到 PostgreSQL启动开发服务npm run dev对应tsx watch或nodemon驱动的 TypeScript 开发脚本由于模板同时使用 TypeScript 与 Prisma实际工程通常还需补充以下开发依赖与脚本依据技术栈推导供参考npm install -D typescript tsx types/express types/jsonwebtoken types/bcrypt// package.json scripts示意 { scripts: { dev: tsx watch src/app.ts, build: tsc, db:push: prisma db push, db:migrate: prisma migrate dev } }关于db:push与db:migrate的取舍db:push适合模板初始化阶段的快速建表直接依据 schema 同步数据库结构而不产生迁移历史进入正式迭代后应切换到prisma migrate dev生成可版本化的迁移文件。最佳实践模板背后的工程底线模板在结尾固化了一批最佳实践逐条展开如下分层架构routes → controllers → services严格的三层依赖方向路由不写业务、控制器不写 SQL、服务层负责数据访问对应目录结构中的routes/、controllers/、services/三个目录。这与 scaffolding.md 强调的薄路由、逻辑下沉原则一致使用 Zod 校验所有输入所有请求体、查询参数、路径参数都应经过middleware/validate.ts校验schema 统一存放在schemas/既能运行时拦截非法输入又能通过z.infertypeof schema推导出静态类型集中式错误处理绝不散落 try/catch统一交给middleware/error.ts收口配合统一的{ error, details }响应契约避免错误格式漂移基于环境的配置连接串、JWT 密钥、端口等敏感与可变值全部来自环境变量集中在config/读取并导出类型化配置对象配合.env.example提交模板、.env本地注入的惯例使用 Prisma 实现类型安全的数据库访问以prisma/schema.prisma为唯一模型源生成的 Prisma Client 在编译期约束查询字段与返回类型从根源上减少手写 SQL 的拼写错误与类型失配。在 App Builder 编排流程中的落地方式了解模板本身之后还应理解它在 Agent 工作流中的触发与执行方式。根据 SKILL.md 的选择性阅读规则当收到类似创建一个带用户认证的 REST API请求时编排流程如下project-detection.md 对请求做关键词分词命中api/backend/service/rest后判定项目类型为 API Service指向express-api模板只读取 templates/express-api/TEMPLATE.md 这一个模板文件按其技术栈与目录结构落地按 agent-coordination.md 的流水线由 Database Architect 设计 Prisma schema → Backend Specialist 实现 routes/controllers/services/middleware → 进入并行阶段由 Security Auditor 与 Test Engineer 审查与补测 → 最后由 DevOps Engineer 配置环境与部署。这套模板的价值在于把Express API 工程长什么样的隐性经验显性化为可复用的模板文件让 Agent 与开发者共享同一套结构、契约与规范减少每次从零搭建时的决策成本与风格漂移。小结express-api 模板是 AAS app-builder 技能面向纯后端 REST API场景的标准化答案以 Node.js 20 为运行时、TypeScript 贯穿全链路Express 承载 HTTP 层Prisma 提供 PostgreSQL 的类型安全访问Zod 把关所有输入JWT bcrypt 完成认证与密码安全六步初始化流程可在数分钟内拉起可运行服务统一响应契约与六段式中间件栈则保障了工程的一致性与可维护性。对希望让 Agent 稳定产出高质量 API 工程的团队而言这套模板既是脚手架也是一份可直接引用的架构规范。【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,600 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/GitHub_Trending/an/agentic-awesome-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表