与 Vercel Function 集成
Vercel Function 默认支持 Web Standard Framework,因此您可以在 Vercel Function 上运行 Elysia 而无需任何额外配置。
- 在 src/index.ts 创建一个文件
- 在 src/index.ts 中,创建或导入现有的 Elysia 服务器
- 将 Elysia 服务器作为默认导出
typescript
import { Elysia, t } from 'elysia'
export default new Elysia()
.get('/', () => 'Hello Vercel Function')
.post('/', ({ body }) => body, {
body: t.Object({
name: t.String()
})
})
- 添加构建脚本,使用
tsdown
或类似工具将代码打包成单个文件
json
{
"scripts": {
"build": "tsdown src/index.ts -d api --dts"
}
}
- 创建 vercel.json 以将所有端点重写到 Elysia 服务器
json
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"rewrites": [
{
"source": "/(.*)",
"destination": "/api"
}
]
}
此配置将所有请求重写到 /api
路由,这是 Elysia 服务器定义的位置。
Elysia 与 Vercel Function 配合使用无需额外配置,因为它默认支持 Web Standard Framework。
如果此方法无效
确保将 Elysia 服务器作为默认导出,并且构建输出是一个位于 /api/index.js
的单个文件。
您还可以使用 Elysia 的内置功能,如验证、错误处理、OpenAPI 等,就像在其他环境一样。
有关更多信息,请参阅 Vercel Function 文档。