Skip to content

本地开发与构建

前置条件

  • Node.jspnpm
  • MySQL(ZenStack / 应用数据)
  • Redis(Sys 登录会话等)

环境文件

  1. backend/.env:由 backend/.env.example 复制。至少配置 DATABASE_URLJWT_SECRET(网关与 Sys 必须一致)、REDIS_*SYS_SERVICE_URLACC_SERVICE_URL
  2. frontend/.env:由 frontend/.env.example 复制,例如 VITE_API_BASE_URL 指向网关(默认 http://localhost:3000)。

数据库与 ZenStack

backend/ 目录:

bash
pnpm run zen:generate
pnpm run zen:push
  • zen:generate:根据 zenstack/schema.zmodel 生成客户端与类型。
  • zen:push:将 schema 同步到数据库(生产环境请改用迁移策略)。

常用命令(仓库根目录)

命令说明
pnpm install安装 workspace 依赖
pnpm dev并行启动 gateway、sys、acc、Vite 前端
pnpm dev:backend仅三后端
pnpm dev:web仅前端
pnpm build后端 build + 前端 build + VitePress 文档 build
pnpm docs:dev / pnpm --filter taskflow-docs dev仅启动本 VitePress 文档站(5174,与前端 5173 区分)

开发时浏览器访问 前端端口(默认 5173),由 Vite 将 /api 代理到网关,再由网关转发 Sys / Acc。

API 文档(Knife4j)

后端 Sys / Acc 启动后(pnpm dev:backend)可打开:

详见 API 文档(Knife4j)。生产环境请设 SWAGGER_ENABLED=false

文档站点

文档开发服务器固定为 5174(在 docs/.vitepress/config.tsvite.server.port),避免与前端 pnpm dev:web 的 5173 冲突。

bash
pnpm docs:dev
# 或
pnpm --filter taskflow-docs dev

浏览器打开 http://localhost:5174。顶栏 指南docs/guide/ 全部分组侧栏;发版签字docs/ci/ 可打印签字表。

构建与预览静态站点:

bash
pnpm docs:build
pnpm docs:preview

预览默认使用 4174vite.preview.port),与前端 vite preview 常用 4173 错开。

生产(Docker 前端镜像):文档与主站打在同一 nginx 根目录,访问路径为 /docs/(构建时设置 VITEPRESS_BASE=/docs/,见 deploy/docker/Dockerfile.frontend)。本地 pnpm docs:build 仍为站点根路径 /,便于单独预览静态文件。

独立文档端口(如 external-dbsdocs 服务映射 7001):与 web 使用同一镜像 taskflow-frontend。镜像内构建两套 VitePress:一套 base /docs/ 挂主站同域,一套 base / 放在 /usr/share/nginx/docs-standalonedocs 容器通过 /opt/taskflow/nginx-entrypoint-docs.sh 只启用第二套(见 deploy/docker/Dockerfile.frontend)。

TaskFlow 内部文档 Released under the MIT License.