SuperAPI AI 工具集

expo-api-routes

编程与开发

查看项目

更新于 10-16 01:15

技能介绍

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

主要能力:API 路由放在 app 目录,文件名以 +api.ts 结尾,如 app/api/hello+api.ts 对应 GET /api/hello,支持动态路由 [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 deploy 部署到 EAS Hosting(Cloudflare Workers)。生产环境变量用 eas env:create 或 Expo 面板设置。客户端可直接 fetch("/api/hello") 调用。

限制:运行时为 Cloudflare Workers,无 Node.js 文件系统,无原生 Node 模块,CPU 密集任务约 30 秒超时,无持久连接(WebSocket 需 Durable Objects),应改用 Web Crypto、fetch 等 Web API。数据库需使用云端方案,如 Cloudflare D1、Turso、PlanetScale、Supabase、Neon。切勿在客户端代码暴露密钥,始终校验输入并使用正确状态码。