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

Vitepress集成@discord-message-components/vue构建报错求助

解决Vitepress构建@discord-message-components/vue的CommonJS导出错误

根据错误提示,@discord-message-components/vue属于CommonJS模块,在ES模块环境下无法直接使用命名导入。开发阶段Vite的兼容处理掩盖了这个问题,但构建时会严格遵循ES模块规范,因此触发报错。

修复步骤

1. 修改导入语句

将原来的命名导入改为默认导入后解构:

// 替换原有的命名导入代码
import pkg from '@discord-message-components/vue';
const {
    DiscordButton,
    DiscordButtons,
    DiscordEmbed,
    DiscordEmbedField,
    DiscordEmbedFields,
    DiscordInteraction,
    DiscordMarkdown,
    DiscordMention,
    DiscordMessage,
    DiscordMessages,
    DiscordReaction,
    DiscordReactions,
    install: DiscordMessageComponents,
} = pkg;
import '@discord-message-components/vue/dist/style.css';

2. 保留原有组件注册逻辑

后续的app.use和app.component注册代码无需修改,因为解构后的变量名与之前完全一致,不影响功能逻辑。

可选:添加Vite依赖优化配置(若仍有问题)

如果修改导入后构建仍报错,可在.vitepress/config.ts中添加优化配置,强制Vite正确处理该CommonJS包:

export default defineConfig({
  vite: {
    optimizeDeps: {
      include: ['@discord-message-components/vue'],
      esbuildOptions: {
        target: 'es2020'
      }
    }
  }
})

完成上述修改后,重新执行docs:build即可正常完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:25:06