配置与验证目标
本技能用于在 Astro 项目中配置和验证 Cloudflare,核心是在 cf 可接受的构建路径中做出选择,同时不替换项目现有的发布提供商。执行前需要阅读项目清单、锁文件、astro.config、已安装的适配器、脚本、.gitignore、tsconfig.json、wrangler.* 和 cloudflare.config.ts;若路径与示例不同,以 .astrofy/config/paths.json 中定义的路径为准。在套用在线文档中的 API 前,应先核对锁文件中 Astro、适配器与 cf 的实际安装版本。
发布目标分类
修改文件前需先判断发布目标:没有适配器时,站点是静态的,发布的是静态资产;使用 @astrojs/cloudflare 时,按需路由运行在 Workers 上;存在 wrangler.jsonc、wrangler.json 或 wrangler.toml 时,项目仍依赖 Wrangler,在执行任何会触发构建的 cf 命令前需要先运行 cf migrate。
cf 前置条件
cf 目前处于 beta,要求 Node.js 22.18 或更高版本、package.json 中设置 "type": "module",并将 cf 安装为开发依赖。Bun 不支持加载 cloudflare.config.ts。
构建路径选择
需选择并记录构建路径。Astro 6 及更高版本在 beta 期间尚不能用 cf 完成构建;如果 cf 的 dry-run 拒绝当前安装的版本,则改用 astro build 加 wrangler deploy。对于带有 wrangler.* 但没有 cloudflare.config.ts 的项目,不要运行 cf init .、cf dev、cf build 或 cf deploy。
文件配置
配置时不替换现有提供商与模式:cloudflare.config.ts 中使用 defineConfig,并设置 worker.name、compatibilityDate 和 entrypoint;accountId、bindings 与 triggers 按实际使用情况配置。.gitignore 需包含 .cloudflare/、.wrangler、.dev.vars* 和 .env*;tsconfig.json 需包含 cloudflare.config.ts 与 .cloudflare/types;同时配置开发、构建、发布与预览脚本。保留已安装的适配器和 Astro 版本。从 Wrangler 迁移到 cf 或从 Pages 迁移到 Workers 属于独立范围,需要单独测试代表性路由。
报告记录
需在报告中记录发布目标分类、所选路径、变更文件以及命名选择(如 Worker 名称与模式)。
验证方式
确认配置存在且与项目实际使用的一致:走 cf 路径时应有 cloudflare.config.ts,走 Wrangler 路径时应保留 wrangler.jsonc。dry-run 应显示 Worker、bindings 与模式且不向 API 发送请求。走 cf 路径时检查 .cloudflare/output/v0/config.json 中的 Build Output。最后运行 astrofy check --rule quality.build。
限制说明
资料未提供该技能支持的具体 Cloudflare 账户类型、免费或收费信息、界面操作细节,也未提供完整的兼容性矩阵和迁移步骤,这些内容暂未提供。