SuperAPI AI 工具集

sveltekit-advanced

前端与建站

查看项目

更新于 10-16 05:47

技能介绍

用途:面向需要使用 SvelteKit 高级能力的前端/全栈开发者,作为状态、数据、环境、请求处理等主题的参考;不覆盖路由、旧式表单 action、load 基础、适配器配置与样式。

主要能力:1) 状态管理:区分服务端上下文、URL、快照与 store,强调 load 必须纯净、模块级变量不可跨请求共享、组件状态在导航间保留需用 $derived。2) 远程函数(自 2.27 实验性):在 *.remote.js 中导出 query、query.batch、query.live、form、command、prerender;可用 Standard Schema(Zod/Valibot)校验,参数经 devalue 序列化,getRequestEvent() 可读 cookie,command 不可在渲染期调用,redirect 不可用于 command。3) 环境变量:旧版 $env/dynamic|static/private|public;显式变量需在 svelte.config.js 开启 kit.experimental.explicitEnvironmentVariables,并在 src/env.ts 用 defineEnvVars 定义,从 $app/env/private 或 $app/env/public 导入。4) Hooks:src/hooks.server.js(handle、handleFetch、handleValidationError)、hooks.client.js(handleError、init)、hooks.js(reroute、transport)。5) 错误:error(404, ...) 触发最近 +error.svelte,意外错误经 handleError,可用 App.Error 声明类型,handleError 不得抛出。6) 链接选项:data-sveltekit-preload-data、preload-code、reload、replacestate、keepfocus、noscroll。7) Service Worker:src/service-worker.js 自动打包注册,$service-worker 提供 base、build、files、prerendered、version。8) 服务端专用模块:.server.js 后缀或 $lib/server/,客户端导入会在构建时报错。9) 快照与浅层路由:snapshot 的 capture/restore 存 sessionStorage;pushState/replaceState 创建历史记录,page.state 在首次 SSR 与首屏为 {}。

限制与注意:explicitEnvironmentVariables、remoteFunctions、handleRenderingErrors 等为实验性;query.live 在 SSR 只返回首个值即关闭;requested 刷新需 limit 防 DoS;reroute 必须纯净且结果按 URL 缓存;dev 下 Service Worker 的 build/prerendered 为空;同级子域 cookie 转发需自行 handleFetch。具体安装与命令资料未提供。