用途:为 SvelteKit 项目提供数据流方面的指导,帮助在 load 函数、表单 action 以及服务端与客户端数据之间做出正确选择。
主要能力:区分仅服务端文件(+page.server.ts,用于数据库或密钥)、通用文件(+page.ts,服务端与客户端都会运行)以及 API 端点(+server.ts);说明 load 决策逻辑,即需要服务端资源时用 server load,需要客户端 API 时用 universal load;表单 action 始终放在 +page.server.ts 中,错误返回 fail(),导航用 throw redirect(),失败用 throw error()。
使用方式:技能附带参考文件,包括 load-functions.md(服务端与通用 load)、form-actions.md(表单处理模式)、serialization.md(可序列化与不可序列化内容)、error-redirect-handling.md(fail/redirect/error)。示例中展示了在 +page.server.ts 内定义 load 与 actions,使用 request.formData() 读取表单数据,校验失败返回 fail(400, {...}),成功后 throw redirect(303, '/success')。
适用场景:SvelteKit 应用中的数据加载、表单提交、错误与重定向处理,以及服务端与客户端数据边界划分。
限制:服务端 load 返回的数据必须可 JSON 序列化,不能包含类实例或函数;从服务端 load 到通用 load 通过 data 参数传递;重定向与错误必须使用 throw。资料最后验证时间为 2025-01-11。