Svelte Knowledge Patch 是一份面向 Svelte 与 SvelteKit 开发者的参考资料集,适用于编写、代码审查、版本升级和故障排查。
用途与结构:使用时应先阅读迁移说明,再按正在修改的代码查阅相关主题参考。索引包含 SvelteKit 路由与运行时(错误边界、路径、类型化路由参数、导航、预渲染、环境守卫、CSP、Service Worker、重路由、插桩)、远程表单(深层部分值、schema、预检、提交与重置状态、校验问题、重定向目标、流式上传)、远程查询与命令(可选输入、URL 上下文、显式 await、刷新、失效、缓存策略、传输错误、实时重连)、符文与组件(依赖追踪、状态与 props、稳定 ID、附件、片段、模板声明、上下文、异步渲染)、Svelte 5 迁移以及工具、构建与部署。
迁移与行为要点:建议分阶段升级,先把 Svelte 3 应用迁到 Svelte 4 再采用 Svelte 5,更新 svelte 及 vite-plugin-svelte 等相关包后再执行可选的语法迁移 npx sv migrate svelte-5。远程调用需显式 await 才能阻塞渲染。$effect 只同步追踪最新一次执行中同步读取的值;$derived 结果不做深层代理;$state 代理的解构不会保持响应式。预渲染根 +server.js 必须返回 HTML,同时含 +page 与 +server 的预渲染路由会提前失败。
符文与组件:可用 $effect.pending() 统计边界内待处理 promise,用 $state.eager(value) 获得即时反馈;let 声明的 $derived 绑定可重新赋值以支持乐观 UI;$props.id() 生成水合稳定的组件实例 ID;{@attach ...} 适合元素生命周期行为;片段参数支持默认值与解构,但不支持剩余参数。
远程数据:远程查询、命令与预渲染输入在类型允许时可省略;远程响应使用 cache-control: private, no-store,不应随意覆盖。
限制:资料未提供该补丁的收费、价格、平台支持范围或安装步骤等事实,暂未提供。