SuperAPI AI 工具集

expo-api-routes

编程与开发

查看项目

更新于 10-15 23:44

技能介绍

用途:在 Expo Router 中创建服务端 API 路由,并部署到 EAS Hosting。适合需要服务端密钥、数据库操作、第三方 API 代理、服务端校验、Webhook、限流或重计算的场景;数据已公开、无需密钥、需实时更新、简单 CRUD、文件上传或仅做认证时不宜使用。

主要能力:路由文件放在 app 目录,以 +api.ts 结尾,如 app/api/hello+api.ts 对应 GET /api/hello,支持动态段 [id]+api.ts。按 HTTP 方法导出同名函数 GET、POST、PUT、DELETE,可读取查询参数、请求头与 JSON 体,返回 Response.json 并设置状态码。支持 process.env 读取服务端密钥、CORS 头与 OPTIONS、try/catch 错误处理。

使用方式:本地用 npx expo serve 启动 http://localhost:8081 测试,可用 curl 调用。部署前安装 eas-cli 并 eas login,然后 eas deploy 构建部署到 EAS Hosting(Cloudflare Workers)。生产环境变量用 eas env:create 或 Expo 面板设置。客户端用 fetch("/api/hello") 调用。

限制:运行时为 Cloudflare Workers,无 Node.js 文件系统与原生模块,CPU 密集任务约 30 秒超时,无持久连接,WebSocket 需 Durable Objects;应改用 Web API,如 Web Crypto 与 fetch。数据库可选 Cloudflare D1、Turso、PlanetScale、Supabase、Neon 等云服务。规则要求绝不暴露密钥、校验输入、使用正确状态码并服务端记录错误。