用途:EdgeOne Makers 的边缘函数(Edge Functions)是基于 V8 的轻量函数,运行在边缘节点,适合构建简单 API、访问 KV 存储以及需要超低延迟的响应场景。
主要能力:支持按 HTTP 方法处理请求(onRequest、onRequestGet、onRequestPost 等),提供 EventContext 对象,包含 request、params(动态路由参数)、env(控制台环境变量)、waitUntil(延长函数生命周期执行异步任务),并可通过 context.request.eo 获取 GEO 信息(如国家、城市、经纬度)。支持动态路由(如 [id].js)和兜底路由([[default]].js)。KV 存储为全局变量(绑定命名空间时在控制台设置名称),通过 my_kv.get / my_kv.put 读写,需先在控制台启用 KV、创建命名空间并绑定项目。运行时支持 Fetch、Cache、Headers/Request/Response、Streams、Web Crypto、TextEncoder/TextDecoder、URL/URLSearchParams 等 Web 标准 API。
使用方式:在 edge-functions/api/ 目录下创建 .js 文件,导出 onRequest 或具体方法处理函数,返回 Response 对象。注意该 V8 运行时没有 Response.json(),需使用 new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } })。
限制:运行时为 V8(类似 Cloudflare Workers),非 Node.js,不可使用 Node.js 内置模块(fs、path、http、Node 版 crypto)、require() 或 npm 包。代码包大小上限 5 MB,请求体上限 1 MB,每次调用 CPU 时间上限 200 ms,仅支持 JavaScript(ES2023+)。