SvelteKit新项目运行测试出现wrapDynamicImport未定义错误求解
SvelteKit项目SSR模块
wrapDynamicImport未定义错误的原因与解决方法 问题场景
通过npx sv create创建SvelteKit项目,选择SvelteKit minimal模板、TypeScript语法,添加prettier、eslint、vitest、playwright、node适配器等依赖后,执行npm run lint && npm run format && npm run check && npm run test && npm run dev,测试全部通过,但抛出SSR模块错误:
[vite] (ssr) Error when evaluating SSR module /node_modules/@sveltejs/kit/src/runtime/server/index.js: Cannot read properties of undefined (reading 'wrapDynamicImport')
错误原因
核心原因是SvelteKit与Vite版本不兼容:
- Vite内部API(如
wrapDynamicImport)在版本迭代中被移除或修改 - 旧版SvelteKit仍依赖该已变更的API,导致SSR模块加载时找不到对应属性
解决步骤
1. 升级SvelteKit到最新兼容版本
执行命令升级核心依赖:
npm install @sveltejs/kit@latest
同步升级node适配器(若使用该适配器):
npm install @sveltejs/adapter-node@latest
2. 清理依赖缓存并重装
删除旧依赖文件避免缓存冲突:
rm -rf node_modules package-lock.json
重新安装依赖:
npm install
3. 校验Vite版本兼容性
查看package.json中@sveltejs/kit的peerDependencies字段,确认Vite的要求版本范围,确保当前项目Vite版本符合要求。若Vite版本过高,可降级到兼容版本(示例版本号以实际兼容范围为准):
npm install vite@4.4.9
补充说明
虽然当前测试通过,但该错误会影响服务端渲染(SSR)相关功能(如API路由、服务端渲染页面)的正常运行,建议及时修复。
内容的提问来源于stack exchange,提问作者PirateApp
相关产品推荐
相关产品推荐

