VitePress SSR时动态导入组件报错,应该如何处理?

诸葛春艳 阅读 38

在用VitePress搭建文档网站时,我尝试在侧边栏动态导入一个统计组件,但SSR时老是报错说无法resolve模块。import('./stats.vue')这种写法在客户端正常,但服务端就挂了。试过在vite.config.js里加alias也没用,控制台报错:

[vite] Internal server error: Failed to resolve import "./stats.vue" from "sidebar.js"

查了文档发现SSR对动态导入有特殊要求,但没找到具体解决方案。是不是需要用特殊的语法或者额外配置?求大神指点!

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
码农篷蔚
SSR确实对动态导入有限制,你应该用 defineAsyncComponent 来处理。试试这样写:

import { defineAsyncComponent } from 'vue'

export default {
components: {
Stats: defineAsyncComponent(() => import('./stats.vue'))
}
}


如果还有问题,确保你的 stats.vue 路径正确,别忘了重启下服务。
点赞 6
2026-01-31 10:01