Svelte集成TypeScript构建后出现Uncaught TypeError报错求助
解决Svelte+TypeScript构建后"Cannot read properties of undefined (reading '$$')"报错
以下是针对性的排查和解决步骤:
检查依赖版本兼容性
该报错常因svelte、svelte-preprocess、typescript版本不匹配导致,建议更新到稳定兼容版本:npm install svelte@latest svelte-preprocess@latest typescript@latest配置svelte-preprocess(若未配置)
项目根目录创建或修改svelte.config.js,确保正确处理SCSS和TypeScript:import preprocess from 'svelte-preprocess'; export default { preprocess: preprocess({ scss: true, typescript: true }) };统一组件的TS语法规范
给Panel组件的<script>标签添加lang="ts"(即使暂无TS代码),确保项目TS环境下的组件编译一致性:<script lang="ts"> import './styles.scss'; </script> <div class="s3solution-panel-root"> <div class="s3solution-panel js-panel-main"> <div class="s3solution-panel-toggler"> <div class="s3solution-panel-toggler__btn"> <div class="js-panel-toggler-text">button</div> <i class="s3solution-panel-toggler__arr"></i> </div> <div class="s3solution-panel-toggler__shadow"></div> </div> </div> </div>检查构建工具配置
若使用Vite,确保vite.config.js中Svelte插件配置正确:import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()] });若使用Rollup,需确保
svelte-plugin与rollup-plugin-typescript2的配置协同工作,正确处理Svelte组件的TS编译。清理缓存后重新构建
删除缓存文件和依赖,重新安装并构建:rm -rf node_modules dist package-lock.json npm install npm run build
内容的提问来源于stack exchange,提问作者user21301812
相关产品推荐
相关产品推荐

