如何配置SvelteKit中VS Code自动导入以避免大括号?
解决SvelteKit中VS Code自动导入
$lib路径时带大括号的问题 这个问题是因为添加tsconfig.json的路径别名后,VS Code的TypeScript服务错误地将Svelte组件识别为普通TypeScript模块,从而生成了命名导入(带大括号),但Svelte组件默认是默认导出的,所以导致了导出成员不存在的错误。
你可以按以下步骤解决:
修正
tsconfig.json的模块解析配置
确保compilerOptions里的moduleResolution设置为bundler,这是SvelteKit的推荐配置,能让TypeScript更好地兼容Vite的别名规则和Svelte组件的导出逻辑:{ "compilerOptions": { "moduleResolution": "bundler", "paths": { "$lib": ["./src/lib"], "$lib/*": ["./src/lib/*"] } // 保留其他原有配置 } }重启VS Code的TypeScript服务
打开命令面板(快捷键:Ctrl+Shift+P / Cmd+Shift+P),输入并执行TypeScript: Restart TS Server,让新的配置生效。确保Svelte扩展是最新版本
检查VS Code中的「Svelte for VS Code」扩展,更新到最新版本——旧版本的扩展可能存在别名识别的兼容性问题,更新后多数这类问题会自动修复。
如果以上步骤还没解决,可以尝试在tsconfig.json的compilerOptions中添加types配置,明确引入Svelte的类型定义:
{ "compilerOptions": { "types": ["svelte"] // 其他配置... } }
这样调整后,VS Code的自动导入就会正确生成不带大括号的默认导入语句:import Accordion from '$lib/components/Accordion.svelte';
内容的提问来源于stack exchange,提问作者Asaf Agranat
相关产品推荐
相关产品推荐

