当前前端只部署 packages/web,后端与 realtime 独立部署。
- 仓库根目录:
/ - 前端项目目录:
packages/web - Node 版本:
22(建议固定为22.17.1) - Pages / EdgeOne 部署时都建议先保存配置,再重新触发一次完整部署
当前 web 端统一使用运行时公开变量:
PUBLIC_API_BASE_URLPUBLIC_AVATAR_MAX_BYTESPUBLIC_AVATAR_OUTPUT_SIZE
这些变量用于 SSR 运行时与浏览器端公开配置读取,不要求写进仓库,也不要求用户修改 wrangler.toml。
- Root directory:
packages/web - Build command:
pnpm install --frozen-lockfile && pnpm run build - Build output directory:
.svelte-kit/cloudflare - 仓库内已提供
packages/web/wrangler.toml,默认包含:name = "cyimewrite-web"pages_build_output_dir = ".svelte-kit/cloudflare"compatibility_date = "2026-04-04"compatibility_flags = ["nodejs_compat"]
- 选择仓库后,手动填写
Root directory = packages/web - 手动填写
Build command = pnpm install --frozen-lockfile && pnpm run build Build output directory填.svelte-kit/cloudflare- 在项目环境变量里填写:
PUBLIC_API_BASE_URL=https://你的后端域名PUBLIC_AVATAR_MAX_BYTES=2097152PUBLIC_AVATAR_OUTPUT_SIZE=512
- 如果 Dashboard 提示当前项目由
wrangler.toml管理,普通变量不可直接编辑:- 可以将上述变量以相同名字作为加密变量填写
- 对当前场景也能正常工作,因为这些值本身就是前端公开配置
- 保存后重新部署
pnpm run build会自动识别CF_PAGES=1,并切到 Cloudflare 适配构建wrangler.toml只保留固定兼容配置,不存放每个用户自己的后端域名- 如果修改了环境变量,请重新触发部署,不要只依赖历史部署缓存
- Root directory:
packages/web - Install command:
pnpm install --frozen-lockfile --config.node-linker=hoisted - Build command:
pnpm run build:edgeone - Output directory:
.edgeone/assets - 仓库内已提供
packages/web/edgeone.json,默认固定:installCommand = pnpm install --frozen-lockfile --config.node-linker=hoistedbuildCommand = pnpm run build:edgeoneoutputDirectory = .edgeone/assetsnodeVersion = 22.17.1
- 选择仓库后,手动填写
Root directory = packages/web - 如果控制台未自动读取
edgeone.json,安装命令填写pnpm install --frozen-lockfile --config.node-linker=hoisted - 如果控制台未自动读取
edgeone.json,构建命令填写pnpm run build:edgeone - 如果控制台未自动读取
edgeone.json,输出目录填写.edgeone/assets - 在环境变量里填写:
PUBLIC_API_BASE_URL=https://你的后端域名PUBLIC_AVATAR_MAX_BYTES=2097152PUBLIC_AVATAR_OUTPUT_SIZE=512
- 保存后重新部署
- EdgeOne 的 SSR 函数运行时对
pnpm默认依赖链接布局可能不够稳定,因此这里显式使用node-linker=hoisted - 如果后续仍出现
ERR_MODULE_NOT_FOUND,优先检查控制台实际使用的安装命令是否与edgeone.json一致
在 packages/web 目录下执行:
pnpm run build
pnpm run build:cloudflare
pnpm run build:edgeone