本地开发
环境要求
- Node.js 22(最低 20)
- Corepack
- pnpm 8.7.0
- 可选:Docker 与 Docker Compose v2
安装依赖
bash
corepack enable
pnpm install --frozen-lockfile仓库只有一个 pnpm-lock.yaml,不要在子应用中生成独立锁文件。
准备环境变量
bash
cp services/api/.env.example services/api/.env
cp services/resource/.env.example services/resource/.env
cp workers/image/.env.example workers/image/.env
cp workers/video/.env.example workers/video/.env本地端口:
| 应用 | 默认端口 |
|---|---|
| API | 3000 |
| Image Worker | 3001 |
| Video Worker | 3002 |
| Resource Service | 3003 |
| Docs | VitePress 自动选择,通常 5173 |
API 与 Image Worker 的 RESOURCE_SERVICE_URL 应指向 http://127.0.0.1:3003,API 的 WORKER_ENDPOINTS 至少应包含:
dotenv
WORKER_ENDPOINTS=image=http://127.0.0.1:3001启动应用
从仓库根目录分别运行:
bash
pnpm --filter @markify/resource-service start:dev
pnpm --filter @markify/image-worker start:dev
pnpm --filter @markify/api start:dev
pnpm --filter @markify/docs start:dev当前图片开发不需要启动 Video Worker。
质量检查
bash
pnpm format
pnpm lint
pnpm build
pnpm test
pnpm test:e2e只构建文档:
bash
pnpm --filter @markify/docs build
pnpm --filter @markify/docs previewVitePress 构建会检查 Markdown 解析和站内链接。新增、移动页面后必须同步修改 .vitepress/config.mts 导航。