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

Vue.js中添加CKEditor Simple Upload Adapter及修复ckeditor-duplicated-modules错误

解决CKEditor5 Vue集成中ckeditor-duplicated-modules错误及图片上传配置问题

错误原因

你遇到的ckeditor-duplicated-modules错误,是因为直接使用了官方预编译的@ckeditor/ckeditor5-build-classic构建包,同时又单独引入了SimpleUploadAdapter模块,导致同一模块被重复加载——官方Classic构建包本身已经内置了SimpleUploadAdapter插件,手动在配置中添加该插件会触发模块重复冲突。

解决方案

方案一:使用官方预构建包(快速修复)

无需额外引入SimpleUploadAdapter,直接移除配置中重复的插件声明,仅保留上传地址和工具栏配置即可:

修改后的完整代码:

<template>
  <ckeditor
    :editor="editor"
    v-model="editorData"
    @ready="onReady"
    @input="onChange"
    :config="editorConfig"
  ></ckeditor>
</template>

<script>
import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
import CKEditor from "@ckeditor/ckeditor5-vue";

export default {
  name: "app",
  components: {
    ckeditor: CKEditor.component,
  },
  data() {
    return {
      editor: ClassicEditor,
      editorData: "<p>Hello from CKEditor 5!</p>",

      editorConfig: {
        toolbar: ["imageUpload", "image"],
        simpleUpload: {
          uploadUrl: "YOUR_UPLOAD_ENDPOINT_URL",
        },
      },
    };
  },
  methods: {
    onReady(editor) {
      console.log("CKEditor5 Vue Component is ready to use!", editor);
    },
    onChange(data) {
      console.log(data);
    },
  },
};
</script>

方案二:自定义构建CKEditor(适合扩展需求)

如果需要添加官方预构建包没有的插件,可通过自定义构建解决模块冲突:

  • 使用CKEditor在线构建工具,选择ClassicEditor作为基础,勾选需要的插件(包括SimpleUploadAdapter),下载构建后的包
  • 将自定义构建包替换项目中@ckeditor/ckeditor5-build-classic的依赖
  • 后续可在配置中正常管理插件,避免重复引入同一模块

额外检查

确保项目中没有同时引入不同版本的CKEditor依赖,或在多个组件中重复import同一模块,这也可能触发类似的重复模块错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:45:21