SuperAPI AI 工具集

expo-api-routes

编程与开发

查看项目

更新于 10-16 07:28

技能介绍

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

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

使用方式:本地用 npx expo serve 启动 http://localhost:8081 测试,可用 curl 调用。部署前安装 eas-cli 并 eas login,然后执行 eas deploy 部署到 EAS Hosting(Cloudflare Workers)。生产环境变量用 eas env:create --name OPENAI_API_KEY --value sk-xxx --environment production 或 Expo 面板设置,自定义域名在 eas.json 或面板配置。客户端用 fetch("/api/hello") 调用。

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