You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SvelteKit项目执行vite preview时出现模块找不到错误

解决SvelteKit执行npm run preview时manifest.js缺失的问题

问题描述

执行npm run preview(即vite preview)时触发模块找不到错误,提示无法找到.svelte-kit/output/server/manifest.js,但实际目录中只有manifest-full.js和vite-manifest.json;npm run dev可正常运行,手动重命名manifest-full.js为manifest.js或修改node_modules中预览脚本的引用路径能临时解决,但重新构建后问题复现。

解决方案

1. 对齐SvelteKit与Vite版本

这是最常见的原因:@sveltejs/kit和vite版本不兼容,导致构建产物的manifest命名逻辑不一致。

  • 查看package.json中的依赖版本,确保两者版本匹配(例如SvelteKit 1.x对应Vite 4.x,SvelteKit 2.x对应Vite 5.x)
  • 执行命令更新到兼容的最新版本:
    npm update @sveltejs/kit vite
    
  • 重新执行npm run build后再启动预览。

2. 检查并重置SvelteKit构建配置

如果自定义了svelte.config.js中的kit.output相关配置,可能导致manifest文件命名异常:

  • 暂时注释或恢复kit.output的自定义设置,执行npm run build后尝试预览。
  • 确认配置中是否有修改manifest生成规则的参数,调整为默认值后重试。

3. 清理缓存与产物后重新构建

缓存或残留的构建产物可能导致异常,执行以下命令彻底清理后重新构建:

rm -rf .svelte-kit node_modules package-lock.json
npm install
npm run build
npm run preview

4. 临时应急方案(不推荐长期使用)

如果上述方法无法快速解决,可通过脚本自动处理文件重命名,避免手动操作:
修改package.json中的preview脚本:

"scripts": {
  "preview": "cp .svelte-kit/output/server/manifest-full.js .svelte-kit/output/server/manifest.js && vite preview"
}

执行npm run preview时会自动生成所需的manifest.js。

注意事项

不要直接修改node_modules中的文件——该修改会在后续执行npm install或更新依赖时被覆盖,还可能引入其他兼容性问题,仅作为临时测试方案使用。

内容的提问来源于stack exchange,提问作者Iisak_789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:03:29