← 返回提取工具

部署到 Cloudflare Pages

已为你生成好可直接上传的发布包:pages-dist.zip(约 250KB, zip 根目录就是 index.html + _worker.js,共 29 个文件)。上传后不会再 404, 且全程不需要 KV、D1、数据库和环境变量。

下载 pages-dist.zip(Cloudflare 发布包)从当前预览服务直接下载,拿到后去 Cloudflare 上传即可。
  • zip 根目录即网站根目录:index.html 与 _worker.js 同级,共 29 个文件,无嵌套。
  • _worker.js 以高级模式接管 /api/*,其余请求回落到静态资源。
  • 不要用控制台拖拽上传 functions/ 文件夹 —— 官方不支持编译,会导致 /api 404。

1方式 A:控制台拖拽上传(最简单)

下载下面的 pages-dist.zip,直接拖到 Cloudflare 控制台 Workers & Pages → Create → Pages → Upload assets。注意:上传这个 zip 本身,不要上传项目文件夹,也不要解压后再套一层文件夹。

2方式 B:Wrangler 命令行

解压或使用 pages-dist 文件夹,运行 npx wrangler pages deploy pages-dist 即可。需要先 wrangler login。

3方式 C:Git 集成

Framework preset 选 None,Build command 填 node scripts/build-pages.mjs,Build output directory 填 pages-dist,不需要任何环境变量。

404 排查(之前失败的两个常见原因)

  1. 上传了项目根目录或 out 文件夹本身 → index.html 被套进子目录 → 全站 404。必须上传 pages-dist.zip 本身。
  2. 用控制台拖拽上传了带 functions/ 的项目 → 拖拽不支持编译 Functions → /api/* 404。本包已改用根目录 _worker.js。
  3. 部署后用旧域名/旧预览链接访问 → 看到还是旧版本。去 Pages → Deployments 打开最新一次部署的域名。

404 自检命令

# zip 根目录必须直接看到这两个文件
unzip -l pages-dist.zip | grep -E "index.html|_worker.js"

# 本地模拟 Pages 上传后的真实运行
npx wrangler pages dev pages-dist --port 8788
curl -s http://127.0.0.1:8788/api/health