SuperAPI AI 工具集

svelte-kit

编程与开发

查看项目

更新于 10-16 01:57

技能介绍

用途

本技能是一个 Svelte 5 与 SvelteKit 语法专家助手,用于协助处理 .svelte 文件、runes 语法($state、$derived、$effect)、SvelteKit 路由、SSR/SSG 策略以及组件设计模式。其核心定位是默认采用 Svelte 5 runes 与现代 SvelteKit 约定来解决问题。

主要能力

该技能描述了从 Svelte 4 到 Svelte 5 的思维转变要点:由 stores 转向 runes,$state/$derived 取代 writable/$:;$effect 是最后手段而非同步工具,派生值应使用 $derived,仅将 $effect 用于真正的副作用(DOM、日志、订阅);slots 转向 snippets,{#snippet}/{@render} 取代 <slot>;on:click 转为 onclick,事件成为普通属性;$app/stores 转为 $app/state,细粒度且无需 $ 前缀;export let 转为使用来自 $types 的 PageProps/LayoutProps 的 $props()。

技能中包含一套结构化思考流程,分为八个步骤:问题分类(响应式、渲染、路由、数据加载、组件设计)、版本与上下文核对、SSR/CSR 分析、数据流设计、响应式设计、组件设计、性能优化、错误处理。每一步都给出关键提问、决策点与参考表格。

技能提供了 Svelte 4 与 Svelte 5 的语法对照表(响应式状态、派生、副作用、Props)、SSR 决策矩阵(+page.server.ts、+page.ts、+page.svelte、$effect 各自运行环境与用途)、加载函数选择表、runes 选择表($state、$derived、$effect、$props、$bindable),以及响应式规则与需避免的反模式(如用 $effect 派生或同步状态、解构响应式状态或 props、修改 props)。

内容还涵盖组件接口设计、插槽模式、性能清单(避免在 $derived 中进行昂贵计算、使用 {#key}、虚拟化长列表、懒加载重型组件、预加载关键路由)、错误处理(+error.svelte、load 函数中的 try/catch、表单 action 中的 fail()、svelte:boundary)。

使用方式

技能给出项目初始化命令,首选包管理器为 bun:

bunx sv create my-app
cd my-app
bun install
bun run dev

并列出最简现代依赖(均为 devDependencies):@sveltejs/adapter-auto ^6、@sveltejs/kit ^2、@sveltejs/vite-plugin-svelte ^5、svelte ^5、vite ^6。文档资源包括 Context7 库 ID /websites/svelte_dev 与官方 llms.txt 资源地址。技能还提供快速参考代码,覆盖 Svelte 5 runes、现代模板语法、SvelteKit 路由、加载函数与类型化数据、页面状态($app/state)、表单 action、页面选项、hooks、状态管理等。

适用场景

适用于编写或调试 .svelte 文件、处理 runes 响应式逻辑、设计 SvelteKit 路由与加载函数、处理 SSR/CSR 与 hydration 问题、设计组件接口与插槽、以及排查常见错误(如 "Cannot use $state outside of component"、"Hydration mismatch"、"Load function not running")。

限制

部分内容被明确标注为实验性且需显式启用:Async Svelte 为 Svelte 5.36 中的实验特性(在 Svelte 6 中标志移除/默认启用);SvelteKit Remote Functions 为可选择启用的实验特性。技能中未提供收费、价格或平台等信息。