☁️
CF WIKI

部署到 Cloudflare

新项目优先用 Workers Static Assets。 从纯静态开始,按需渐进式增加 API、数据库和 AI 能力。

✨ 静态先行 · API 渐进

第一阶段:纯静态托管

托管 Astro 构建出的 dist/ 目录。仅需在 wrangler.jsonc 中配置 assets.directory

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "name": "cloudflare-wiki",
  "compatibility_date": "2026-06-15",
  "assets": {
    "directory": "./dist"
  }
}
bun run build && bunx wrangler deploy

第二阶段:静态资源 + API

通过 ASSETS 绑定让 Worker 接管 /api/* 路由,实现动静分离架构。

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "name": "cloudflare-wiki",
  "main": "src/worker.ts",
  "compatibility_date": "2026-06-15",
  "assets": {
    "directory": "./dist",
    "binding": "ASSETS"
  }
}
export default {
  async fetch(request, env) {
    const url = new URL(request.url);

    if (url.pathname === "/api/health") {
      return Response.json({ ok: true });
    }
    if (url.pathname.startsWith("/api/ask")) {
      // TODO: AI Gateway / Vectorize / D1
      return Response.json({ message: "AI Wiki API placeholder" });
    }

    return env.ASSETS.fetch(request);
  },
};

推荐演进路径

静态基础
  • Workers Static Assets
  • Astro SSG 模式
  • Pagefind 客户端搜索
动态增强
  • /api/* 后端路由
  • 用户反馈收集
  • 动态内容聚合
持久化存储
  • D1 关系型数据
  • R2 对象存储
  • KV 全球热键值对
智能引擎
  • AI Gateway 治理
  • Vectorize 语义搜索
  • Workers AI 总结

CI/CD 自动化

推荐使用 GitHub Actions 实现自动化流水线。

# .github/workflows/deploy.yml
- uses: oven-sh/setup-bun@v2
- run: bun install --frozen-lockfile
- run: bun run build
- uses: cloudflare/wrangler-action@v3
  with:
    apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
    command: deploy
命令已复制到剪贴板
🔍 ESC