Cloudflare Pages Functions 全栈
通过 functions/ 目录为 Pages 站点添加 API 路由 — 基于文件路由带边缘绑定。
为什么
Pages Functions 把静态站变全栈应用而不离开 Pages — 同部署、同预览 URL、同绑定(KV/D1/R2)。无需管理独立 Worker。
Cloudflare 网络覆盖 125+ 国家的 330+ 城市,服务 20% 的互联网流量。Workers 冷启动为 0ms(基于 isolate),免费套餐覆盖每天 10 万请求。
何时使用
前端和 API 一体时用(Next.js、Astro、Remix)。避免跨多前端共享的 API(用独立 Worker)。
如何做
示例
常见问题
- ⚠functions/ 位置错误 — 须仓库根,不在 src/ 或 public/
- ⚠动态路由语法 — [id].ts 非 :id.ts,参数通过 context.params 访问
- ⚠静态资源触发 Functions — 用 _routes.json exclude 跳过 /assets/*
最佳实践
- ✓用 _routes.json 限制 Function 调用 — 跳过静态路径,省 CPU 成本
- ✓中间件就近放置 — functions/api/_middleware.ts 仅 /api 范围认证
- ✓用 @cloudflare/workers-types 类型 — env、params、next 自动补全
常见问题解答
什么是Cloudflare Pages Functions 全栈?它解决什么问题?
通过 functions/ 目录为 Pages 站点添加 API 路由 — 基于文件路由带边缘绑定。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。
如何在 5 分钟内上手Cloudflare Pages Functions 全栈?
两步即可跑通:① 仓库根创建 functions/ — functions/api/users.ts → 路由 /api/users;② 方法 — 导出 onRequestGet、onRequestPost、onRequestPut、onRequestDelete。建议先用免费套餐验证流程,再接入生产环境。
Cloudflare Pages Functions 全栈 最容易踩的坑是什么?
最高频的问题是:functions/ 位置错误 — 须仓库根,不在 src/ 或 public/。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。
Cloudflare Pages Functions 全栈 的最佳实践有哪些?
Cloudflare Pages Functions 全栈 的最佳实践包括:用 _routes.json 限制 Function 调用 — 跳过静态路径,省 CPU 成本;中间件就近放置 — functions/api/_middleware.ts 仅 /api 范围认证;用 @cloudflare/workers-types 类型 — env、params、next 自动补全。其中首条「用 _routes.json 限制 Function 调用 — 跳过静态路径,省 CPU 成本」应作为团队默认规范写入 IaC 模板。
Cloudflare Pages Functions 全栈 如何控制成本与避免账单意外?
三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Pages Functions 全栈 多数提供免费套餐,先在免费额度内验证再放量。