原生JS环境下Svelte/SvelteKit中$lib导入报错的解决求助
解决SvelteKit JS项目中Deno解析$lib别名的问题
可行解决思路:
关闭VS Code的Deno插件对当前项目的支持
若你的项目基于Vite构建(SvelteKit默认配置),Deno插件的解析规则会和Vite冲突,导致不识别SvelteKit的别名。可在项目根目录创建.vscode/settings.json,添加以下配置:{ "deno.enable": false }确保
.svelte-kit/tsconfig.json包含正确的路径映射
自动生成的.svelte-kit配置可能覆盖自定义规则,手动检查并添加:"compilerOptions": { "paths": { "$lib/*": ["../src/lib/*"] } }修改后通过快捷键
Ctrl+Shift+P唤起命令面板,选择TypeScript: Restart TS Server重启语言服务。显式配置Vite别名
虽然SvelteKit的alias会同步到Vite,但显式配置可确保解析生效,在vite.config.js中添加:import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()], resolve: { alias: { $lib: './src/lib' } } });清理缓存并重建项目
删除.svelte-kit和node_modules文件夹,重新执行npm install和npm run dev,避免缓存引发的解析异常。校验文件路径准确性
确认src/lib/server/auth.js文件真实存在,且路径大小写和导入语句完全匹配(Deno解析会严格检查大小写)。
内容的提问来源于stack exchange,提问作者blented
相关产品推荐
相关产品推荐

