Skip to content

日常开发流程

典型工作流

text
1. 拉最新代码 → pnpm install
2. docker compose up -d(若 DB 未起)
3. 启动后端(Java 或 Python)
4. build 变更过的 shared 包
5. pnpm --filter web dev(或 desktop / mobile)
6. 改代码 → 浏览器/窗口热更新

改不同模块时的注意点

改 contracts(OpenAPI / SQL)

  1. 先改 contracts/openapi/rbac-api.yamlcontracts/sql/schema.sql
  2. 同步 Java Controller / Python router
  3. 同步 packages/shared/typesapi-client
  4. 再改前端页面

改 shared 包

构建命令消费方
typespnpm --filter @xichen-full-stack/types buildapi-client、auth、admin
authpnpm --filter @xichen-full-stack/auth buildadmin
api-clientpnpm --filter @xichen-full-stack/api-client buildadmin、mobile
admin源码直引,无需 buildweb、desktop
componentspnpm --filter @xichen-full-stack/components buildweb、desktop 模板组件

admin 包通过 Vite 源码引用,改完保存后 web/desktop dev 会自动热更新。

改后端

  • Java:packages/server-java,Maven 编译,端口 8080
  • Python:packages/server-python,改 .env 后重启 uvicorn

改前端应用

  • Webpackages/web/src/main.ts 仅为薄入口,业务在 @xichen-full-stack/admin
  • Desktop:同上,额外注意 Electron hash 路由
  • Mobilepackages/mobile,独立 uni-app 结构

Turbo 命令

bash
pnpm dev      # 并行启动各包 dev(含所有子包,慎用)
pnpm build    # 按依赖顺序构建(shared 先于 app)
pnpm lint     # 全仓 lint

单独启动某个包更安全:

bash
pnpm --filter web dev
pnpm --filter @xichen-full-stack/server-java dev

Git 提交建议

  • 契约变更与实现变更放在同一 PR,便于 review
  • 不要提交 .env(含数据库密码)
  • shared 包若改了 types,确保 api-client build 通过

相关文档

Xichen Full Stack 内部文档