SuperAPI AI 工具集

cloudflare-bundler-apps

部署与运维

查看项目

更新于 10-15 20:13

技能介绍

用途:指导编写能被 space 部署流水线正确构建和预览的 Cloudflare Worker Bundler 兼容应用。部署时由 @cloudflare/worker-bundler 构建(有静态资源用 createApp,无则用 createWorker),并作为 Dynamic Worker 通过 WorkerLoader 提供服务。

主要能力与约定:

  • 项目结构:wrangler.json 配置 main、compatibility_date、compatibility_flags 与 [assets];public/ 放静态资源;src/index.ts 为服务端入口。
  • 服务端:整个后端是一个名为 App 的 Durable Object 类,导出 export class App extends DurableObject,平台将其作为宿主 SpaceDO 的 Facet 加载并转发非资源请求(含 WebSocket 升级)。不要导出 default { fetch }。
  • 存储:状态放在 this.ctx.storage,支持 sql.exec、kv.get/put、transactionSync;不要用 localStorage 作主数据。
  • WebSocket:使用 acceptWebSocket 与 webSocketMessage 的休眠 API。
  • 静态资源:只有 assets.directory 下的文件可通过 URL 访问;浏览器直接运行资源,禁止在 script 中直接输出 JSX,需预编译或用 @babel/standalone。
  • 预览路径:HTML 中根相对 src/href/action 会被 HTMLRewriter 重写,但 JS 字符串中的根相对路径不会,应使用相对路径或 import.meta.url。

限制:不能声明 durable_objects.bindings、migrations、d1_databases、r2_buckets、kv_namespaces;npm 依赖为扁平 node_modules、仅提取文本文件、不运行构建脚本;二进制资源需直接放入 public/。

适用场景:在 space 中搭建全栈或纯静态 SPA、需要 SQLite 持久化、WebSocket 多连接(聊天、多人、在线状态)等原型与部署。具体收费、价格与平台细节资料暂未提供。