SuperAPI AI 工具集

start-server-functions

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:在 TanStack Start(@tanstack/react-start v1.168.58)中创建同源、类型安全的 RPC 服务端函数,可从 loader、组件、hooks 及其他服务端函数调用,仅在服务端运行。不适用于外部/公开 HTTP 端点、中间件链或 Next.js/Remix 模式。

主要能力:用 createServerFn 定义函数并配合 Zod 验证器与处理器;支持 FormData 作为 POST 输入、Response 作为输出;严格序列化默认开启(strict:false 仅关闭类型检查,不关闭运行时)。提供完整 CRUD 模块与 FormData+Zod 验证模板。

关键规则:服务端函数是独立 HTTP 端点,路由 beforeLoad 重定向只保护 UI 不保护 RPC,凡涉及私有数据的函数必须在 handler 或中间件中做鉴权;不得使用 "use server"、getServerSideProps、Remix loader/action、react-router-dom;loader 是同构的,数据库、密钥、文件系统访问必须放在服务端函数而非 loader;函数抛出 redirect() 或 notFound() 时必须用 useServerFn,否则可选。

用法示例:import { createServerFn } from '@tanstack/react-start';createServerFn({ method: 'POST' }).validator(z.object({...})).handler(async ({ data }) => ...)。重定向场景在组件中用 useServerFn(signup) 包装。

架构建议:包裹器放 .functions.ts(可任意导入),服务端专用助手放 .server.ts,共享 Zod schema 放 schemas.ts。避免动态 import() 服务端函数。

工作流要求:实现前核对最新 API 并探索目标代码库,改动后运行 fuse-ai-pilot:sniper。其他细节资料暂未提供。