Pages Functions 小演示

把一小段后端逻辑直接写在 Pages 站点的 functions/ 目录里——文件路径就是 URL,不用另开一个独立 Worker。

一句话区别

独立 Worker:单独一个项目,你自己在代码里写路由(if (pathname…))。

Pages Functions:跟静态网站绑在一起,functions/api/hello.js 自动变成 /api/hello。适合博客、站点自带的小接口。

GET /api/hello

文件:functions/api/hello.js

点按钮看结果…

GET /api/time

文件:functions/api/time.js · 每次都会变,证明 Function 真的跑了

点按钮看结果…

POST /api/echo

文件:functions/api/echo.js · 把你说的话原样带回

点按钮看结果…

动态 /api/greet/[name]

文件:functions/api/greet/[name].js · 方括号 = URL 参数

点按钮看结果…

浏览器 Network 里还能看到响应头 X-Dreamer-Pages-Fn: 1(来自 functions/_middleware.js)。

对照表

Pages Functions独立 Worker
放哪站点仓库的 functions/单独 Worker 项目
路由按文件路径自动自己写 pathname 分支
适合站点自带 API、表单、鉴权独立服务、多站复用、Cron
计费算进 Workers 每日请求额度同样算 Workers 请求
静态页用 _routes.json 只让 /api 走 Function,静态仍免费无限没有「同站静态」这回事

免费额度(练手够用)

演示项目:dreamer-pages-fn(与博客 dreamer-home 分开,避免动到正式站)。源码说明见仓库 README-zh.md。