从types.ts向+page.svelte导入类型时出现Unexpected Token错误求助
解决方案
1. 修复tsconfig.json中的过时配置
importsNotUsedAsValues 和 preserveValueImports 是TypeScript旧版配置项,已被 verbatimModuleSyntax 替代,同时调整rootDirs路径(原路径指向错误,会导致TS解析混乱):
{ "compilerOptions": { "paths": { "$lib": [ "../src/lib" ], "$lib/*": [ "../src/lib/*" ] }, "rootDirs": [ "../src" ], "verbatimModuleSyntax": true, "isolatedModules": true, "lib": [ "esnext", "DOM", "DOM.Iterable" ], "moduleResolution": "node", "module": "esnext", "noEmit": true, "target": "esnext" }, "include": [ "../src/**/*.js", "../src/**/*.ts", "../src/**/*.svelte", "../tests/**/*.js", "../tests/**/*.ts", "../tests/**/*.svelte" ], "exclude": [ "../node_modules/**", "../src/service-worker.js", "../src/service-worker.ts", "../src/service-worker.d.ts" ] }
2. 修正Svelte文件的导入语句
使用SvelteKit内置的$lib别名导入类型,避免相对路径解析错误:
<script lang="ts"> import type { task } from '$lib/types'; let toDo: task; </script>
3. 确保依赖与构建配置正确
- 安装必要的TS预编译依赖:
bun add -D svelte-preprocess - 确认
vite.config.ts中正确配置SvelteKit插件:
import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()] });
4. 清理缓存并重启服务
- 删除
node_modules、.svelte-kit、dist目录 - 重新安装依赖:
bun install - 重启开发服务:
bun run dev
内容的提问来源于stack exchange,提问作者Charlie
相关产品推荐
相关产品推荐

