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

SvelteKit(v2)部署Vercel后动态路由触发[ERR_INVALID_MODULE_SPECIFIER]错误

解决SvelteKit(v2) + Prismic + Vercel部署后本地化动态路由崩溃问题
  • 检查服务器端路径拼接逻辑
    错误中的%5C是编码后的反斜杠,大概率是处理本地化路由时手动拼接模块路径导致的。比如在+page.server.js或+layout.server.js里加载组件/文档时,不要直接用字符串拼接(如${lang}/about),改用Node.js的path.join()处理路径,它会自动适配系统分隔符,避免出现编码问题。示例:

    import path from 'path';
    const componentPath = path.join(lang, 'about');
    
  • 解码Prismic返回的路径字段
    从Prismic获取的本地化文档路径可能带有编码字符,在使用前用decodeURIComponent()解码,确保模块导入的路径是原始未编码格式。比如处理文档的URL字段时:

    const decodedPath = decodeURIComponent(prismicDoc.data.url);
    
  • 验证SvelteKit本地化配置
    检查svelte.config.js或src/hooks.server.js里的本地化路由设置,确保locales配置正确,路由参数生成时没有引入错误的分隔符。比如确认i18n的prefixDefaultLocale等选项是否符合预期,避免生成带异常编码的路由。

  • 清理Vercel远程缓存
    仅删除本地.vercel目录不够,需要在Vercel控制台的项目「Build & Development Settings」里手动点击「Clear Build Cache」,再重新部署。远程缓存可能保留了旧的错误构建文件,导致问题持续存在。

  • 锁定兼容的依赖版本
    不要仅用npm update,直接指定SvelteKit v2和Prismic插件的兼容版本。比如查看@prismicio/sveltekit的官方文档,确认适配SvelteKit v2的最新版本,在package.json里锁定:

    "@prismicio/sveltekit": "^0.2.0"
    

    (版本号以官方最新兼容版为准)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:34:56