前端知库

SvelteKit 的路由、load 和服务端边界怎样协作?

区分 SvelteKit 页面路由、load 函数、服务端专用模块和表单 action,理解数据不会自动安全地留在服务端。

参考答案

SvelteKit 通过文件系统路由组织页面,并用 load 为页面准备数据。不同类型的 load 函数运行环境不同:服务端 load 可以访问服务端资源,但返回给页面的数据会进入响应并可能暴露给客户端。

服务端专用模块、表单 action 和 API 路由要明确输入校验、权限和错误处理。不能因为代码文件带有 server 名称就把用户数据、密钥或内部错误直接返回页面。

SSR、客户端导航和预渲染会改变代码执行时机。需要浏览器 API 的代码应放在客户端安全的生命周期中;需要稳定 SEO 的页面要核对预渲染条件、动态数据和缓存策略。