本地开发
环境要求
- Node.js 26.4.0 或更高版本
- pnpm 11.7.0 或更高版本
安装与初始化
安装依赖并初始化数据库:
bash
pnpm install
pnpm run db:resetdb:reset 会在 packages/database/prisma/dev.db 创建并填充一个本地 SQLite 数据库,该文件已在 .gitignore 中忽略。
启动服务
一次性启动所有服务
bash
pnpm run dev:services| 服务 | 地址 |
|---|---|
| Admin BFF | http://127.0.0.1:4010 |
| Entitlement Service | http://127.0.0.1:4317 |
| Identity Service | http://127.0.0.1:4320 |
单独启动某个服务
bash
pnpm run dev:admin-bff # 仅启动 Admin BFF(端口 4010)
pnpm run dev:entitlement-service # 仅启动 Entitlement Service(端口 4317)
pnpm run dev:identity-service # 仅启动 Identity Service(端口 4320)服务启动后可访问:
| 地址 | 说明 |
|---|---|
| http://127.0.0.1:4010/healthz | Admin BFF 健康检查 |
| http://127.0.0.1:4010/graphiql | Admin BFF GraphiQL 调试页 |
| http://127.0.0.1:4317/docs | Entitlement Service Swagger UI |
| http://127.0.0.1:4317/graphiql | Entitlement Service GraphiQL 调试页 |
| http://127.0.0.1:4320/docs | Identity Service Swagger UI |
Admin BFF 的 GraphQL 端点(/graphql)仅接受 POST 请求。浏览器中调试请使用 GraphiQL。
如需关闭 Swagger UI 和 GraphiQL(例如模拟生产环境测试),可设置 ENABLE_INTERNAL_DOCS=false 或 NODE_ENV=production。
构建文档
本地构建并预览 VitePress 文档站点:
bash
pnpm run docs:build
pnpm run docs:previewdocs:build 会重新生成 OpenAPI 规范、GraphQL SDL、Redoc 页面和 VitePress 静态站点。
验证
提交代码前运行完整验证:
bash
pnpm run lint
pnpm run typecheck
pnpm run test:all
pnpm run build:all或一键运行所有检查:
bash
pnpm run verify