本地构建正常但Vercel部署报Rollup导入错误求助
SvelteKit部署Vercel路径解析错误排查方案
问题描述
部署SvelteKit作品集网站到Vercel时触发Rollup错误:
RollupError: Could not resolve "../../utilities/isLoggedIn" from "src/routes/admin/+page.svelte"
本地执行npm run build无异常,已排查大小写、拼写,尝试过CLI和网页端部署方式,问题仍存在。
排查建议
- 确认文件系统大小写匹配:本地Windows/macOS默认不区分大小写,但Vercel运行在Linux环境(严格区分大小写),检查
utilities目录、isLoggedIn文件的实际大小写是否和代码中的引用路径完全一致,比如本地是IsLoggedIn.js但代码里写isLoggedIn.js就会报错。 - 核对目录层级:确认
src/routes/admin/+page.svelte向上两级目录确实存在utilities/isLoggedIn文件,避免因本地目录结构(如软链接、嵌套层级差异)导致的路径误写。 - 检查Vercel构建缓存:在Vercel控制台触发重新构建时,勾选「清除缓存」选项,避免旧缓存文件干扰。
- 验证Git提交:确认
utilities目录及目标文件已被提交到Git,没有被.gitignore规则排除,导致Vercel拉取代码时缺失文件。 - 本地模拟Linux环境测试:用WSL、Docker或GitHub Codespaces运行
npm run build,复现Vercel的构建环境,更容易定位本地未触发的路径问题。 - 检查路径别名配置:如果项目中使用了Vite/SvelteKit路径别名,确认
vite.config.js或svelte.config.js中的别名配置在Vercel环境中正常生效,避免别名解析失败导致路径错误。
内容的提问来源于stack exchange,提问作者Jardo
相关产品推荐
相关产品推荐

