运行Svelte 3时出现找不到svelte/compiler模块的报错求助
解决Svelte 3运行时找不到
svelte/compiler的问题 我之前折腾Sapper+Svelte 3的时候也碰到过一模一样的报错,根源其实是Sapper和Svelte版本不兼容——从你报错栈里的sapper/dist/core.js就能看出来,是Sapper在加载编译器的时候找不到对应模块。下面是我亲测有效的解决步骤:
第一步:清理所有可能冲突的依赖
先把本地依赖、锁文件和全局包都清干净,避免版本混乱:# 删除本地依赖文件夹(Mac/Linux) rm -rf node_modules # Windows用户用这个:rmdir /s /q node_modules # 删除锁文件 rm package-lock.json # 全局卸载冲突包 npm uninstall -g svelte sapper第二步:安装匹配版本的依赖
Svelte 3需要搭配特定版本的Sapper(0.28.x系列),更高版本的Sapper已经适配Svelte 4了,所以直接安装对应版本:npm install svelte@3 sapper@0.28 --save-dev第三步:确保脚本调用本地依赖
检查你的package.json里的dev脚本,改成用本地的Sapper,避免调用全局的旧版本:"scripts": { "dev": "npx sapper dev" }第四步:重新启动项目
最后重新装依赖并启动:npm install npm run dev
简单说下原因:Sapper对Svelte的版本依赖非常严格,当你同时装了全局和本地不同版本的包,或者用了不匹配的Sapper版本,就会导致它找不到正确的svelte/compiler模块路径,清理后重新装匹配版本就能解决。
内容的提问来源于stack exchange,提问作者shiv chawla
相关产品推荐
相关产品推荐

