error-ckeditor-duplicated-modules 在vue中引入ckeditor插件报错

报错原因: 由于集成了webpack,统一引入了ckeditor ,但是页面里面我们又通过import引入了一遍,所以导致引入重复了

解决:

ckeditor本身除了基本的一些功能,其他基本全靠插件引入,所以想加功能必定是需要引入插件配置,可以换个目录,也可以换引入方式,最后我考虑到依赖项如果在项目里面大量引入这个插件,本身不太好管理,第二是感觉页面引入多了,也不好看,其实我们可以重新打包一下这个ckeditor,将我们需要的东西集成进去,再引入项目,这就比较简单。

1,个性化配置地址

https://ckeditor.com/ckeditor-5/online-builder/#

可以按照步骤配置,依次如图:
注: 他有些是需要收费的,加完有提示
在这里插入图片描述
然后直接下载,下载完后解压,就得到一个项目,大体目录如图
在这里插入图片描述
下载依赖

npm install

打包项目

npm run build

打包完成后,在build下就有我们需要的文件,直接放在项目的public,通过index.html引入即可
在这里插入图片描述

<template>
  <div>
    <ckeditor :editor="editor" :value="editorData" :disabled="disabled" :config="editorConfig" @ready="onEditorReady" @focus="onEditorFocus" @blur="onEditorBlur" @input="onEditorInput" @destroy="onEditorDestroy"></ckeditor>
  </div>
</template>

<script>

export default {
  name: 'app',
  props: {
    editorData: {           // 初始默认值
      type: String,
      default: '',
    },
    // editorConfig: {         // 编译器配置
    //   type: Object,
    //   default: () => {

    //   },
    // },
    disabled: {             // 是否只读
      type: Boolean,
      default: false,
    },

  },
  data() {
    return {
      editor: ClassicEditor,
      editorConfig: {
        simpleUpload: {
          uploadUrl: 'http://example.com',

          headers: {
            
          }
        },
        toolbar: {
          items: [
            'heading',
            'highlight',
            '|',
            'bold',
            'italic',
            'Underline',
            'fontSize',
            'numberedList',
            'bulletedList',
            'blockQuote',
            '|',
            'alignment:left',
            'alignment:right',
            'alignment:center',
            'alignment:justify',
            '|',
            'imageUpload',
            'Link',
            '|',
            'undo', //撤销
            'redo',//重做
          ],
          shouldNotGroupWhenFull: true
        }
      }
    };
  },
  methods: {
    // 初始化
    onEditorReady() {
      console.log(ClassicEditor)
      console.log('初始化')
    },
    // 聚焦
    onEditorFocus() {
      console.log('聚焦')
    },
    // 失去焦点
    onEditorBlur() {
      console.log('失去焦点')
    },
    // 输入
    onEditorInput() {
      console.log('输入')
    },
    // 页面卸载
    onEditorDestroy() {
      console.log('卸载')
    }
  },
}
</script>

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 09:18:09       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 09:18:09       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 09:18:09       87 阅读
  4. Python语言-面向对象

    2024-04-12 09:18:09       96 阅读

热门阅读

  1. Oracle 到 MySQL 数据库迁移

    2024-04-12 09:18:09       41 阅读
  2. Centos7 k8s 集群 - Mysql主从架构

    2024-04-12 09:18:09       32 阅读
  3. sky07笔记

    2024-04-12 09:18:09       33 阅读
  4. Objective-C学习笔记(基本语法)4.6

    2024-04-12 09:18:09       41 阅读
  5. Django域名根目录文件验证

    2024-04-12 09:18:09       37 阅读
  6. VSCode 作者插件大全

    2024-04-12 09:18:09       33 阅读
  7. html单页使用vue

    2024-04-12 09:18:09       30 阅读