用途:在编写或审阅 SvelteKit 路由文件(+page.svelte、+layout.svelte)或组件时,用 svelte-vitals 静态检查 SEO、性能、正确性、安全、架构与无障碍等模式。
主要能力:覆盖多类规则,如 SEO(标题、描述、canonical、Open Graph、JSON-LD、robots.txt、sitemap、viewport、charset、hreflang、标题层级等)、性能(图片尺寸与加载提示、preload、字体、LCP、响应式图片、渲染阻塞脚本、预连接、重依赖、命名空间导入、压缩、加载瀑布、顺序 await、$state.raw、iframe 加载等)、正确性({#each} key、索引作 key、$effect 误用、未变更的 $state 等)。
使用方式:编辑代码后运行 npx svelte-vitals . --diff --reporter agent 并修复发现的问题;提交前可用 npx svelte-vitals . --staged 作为预提交门禁。查看某条规则的完整理由、可配置项与修复示例,运行 npx svelte-vitals explain <rule-id>(加 --json 输出结构化对象)。若某发现是按设计正确的,可用内联指令清除:标记中用 <!-- svelte-vitals-disable-next-line <rule-id> -->,脚本中用 // svelte-vitals-disable-next-line <rule-id>;应先审阅,不要压制未读过的发现。退出码:0 无失败,1 有关键发现(或达到 --fail-on/--min-health 阈值),2 运行本身失败,2 不代表代码干净或有问题。其他用法可运行 npx svelte-vitals docs list 与 npx svelte-vitals docs show <name>。
限制:部分规则为静态分析无法判断的提示性建议(如图片是否为 LCP、iframe 是否在首屏);某规则的规范修复文本未必适用于每条发现,具体发现的修复文本来自运行本身而非 explain。