Skip to content

apps/demo 子项目部署至 Vercel(参考 hotcrm vercel.json 配置) #426

@hotlong

Description

@hotlong

目标:

  • 将 objectql 的 apps/demo 子项目部署到 Vercel。
  • 保证仓库中有 apps/site 与 apps/demo 两个 Vercel 子项目,二者独立,互不影响。

参考:

  • hotcrm 仓库中的 vercel.json 以及 api/[[...route]].ts 多云插件、依赖自动注册等实现方案。
  • 热门项目将 serverless 入口置于 /api/[[...route]].ts 并对所有路径 rewrite 到此。静态资源、控制台和 studio 通过 SPA 插件提供。

实施方案建议:

  1. 在 objectql/apps 下新建 demo 子目录(如未存在),并搭建为可独立部署的 demo 应用。
  2. 为 apps/demo 增加 Vercel 配置,可独立部署,例如:
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "installCommand": "pnpm install --ignore-scripts",
  "buildCommand": "bash scripts/build-vercel.sh",
  "framework": null,
  "functions": {
    "api/**/*.ts": {
      "memory": 1024,
      "maxDuration": 60,
      "includeFiles": "{packages/*/dist,node_modules/@object-ui/console/dist,node_modules/@objectstack/plugin-auth/dist,node_modules/@objectstack/studio/dist}/**"
    }
  },
  "rewrites": [
    { "source": "/api/:path*", "destination": "/api/[[...route]]" },
    { "source": "/(.*)", "destination": "/api/[[...route]]" }
  ]
}
  1. 结合 demo 实际情况,完善 scripts/build-vercel.sh、api/[[...route]].ts 及 demo package 依赖和启动逻辑。
  2. README.md 增加部署说明并示例如何本地和 Vercel 云端开发两种场景下运行。
  3. 提交后需通过 CI 测试,确保 1) 主线不受影响,2) demo 可独立 build/deploy。
  4. 协作完成后,更新 ROADMAP.md/CHANGELOG.md。

注意事项:

  • 不得影响现有 apps/site 子项目。
  • 禁止临时性、低质量的 hack,需采用长期可维护的工程化方案。
  • 配置多子项目部署(Monorepo & 多 Project)时,参考 Vercel 官方 workspace/multi-project best practice。

相关参考:

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions