用途:@tanstack/devtools-vite 是配套 TanStack Devtools 的 Vite 插件,用于在开发期增强调试体验。安装:pnpm add -D @tanstack/devtools-vite。基本用法是在 vite.config.ts 中调用 devtools(),且必须放在插件数组第一位,因为所有子插件均使用 enforce: 'pre',需在框架插件(React、Vue、Solid 等)转换 JSX 之前运行。可用 defineDevtoolsConfig 获得类型安全配置。
主要能力:源码注入为每个 JSX 元素添加 data-tsd-source 属性,支持按住检查热键(默认 Shift+Alt+Ctrl/Meta)悬停点击跳转源码,可配置 injectSource.ignore.files、injectSource.ignore.components 忽略模式(字符串按 picomatch 匹配或正则)。控制台转发在客户端与服务端间双向传递日志,浏览器中服务端日志带紫色 [Server] 前缀,终端中客户端日志带青色 [Client] 前缀。增强日志为 console.log/console.error 前置源码位置,浏览器中显示可点击跳转链接。服务端事件总线默认端口 4206,端口占用时回退到系统分配端口。生产剥离会移除 devtools 相关导入与 JSX。还提供编辑器集成(默认 VS Code,基于 launch-editor)与插件市场事件处理。
限制:需要 vite ^6.0.0 || ^7.0.0,不适用于 webpack、rspack、esbuild。源码注入、控制台转发、增强日志、事件总线与市场仅在开发模式(serve)生效,生产构建只运行剥离子插件。展开 props 的 JSX 元素不会注入 data-tsd-source。多项目并行时可显式设置不同 eventBusConfig.port 避免端口冲突。