@vueup/vue-quill使用quill-better-table报moduleClass is not a constructor

news2024/11/22 10:14:44

quill官方中文文档:https://www.kancloud.cn/liuwave/quill/1434144

扩展表格的使用

注意:想要使用表格 quill的版本要是2.0以后 升级到这个版本后 其他一些插件就注册不了了。

安装:

  1. npm install quill@latest   版本需要大于2.0版本

  2. npm install quill-better-table

引入&注册

import Quill from 'quill'
import 'quill/dist/quill.snow.css'

import QuillBetterTable from 'quill-better-table'
import 'quill-better-table/dist/quill-better-table.css'

Quill.register({
  'modules/better-table': QuillBetterTable
}, true)

使用: 

1.在toolbar-container 中增加表格的按钮

<quill-editor
      ref='quillEditorRef'
      v-model:content='content'
      contentType='html'
      :options='options'
      :style='styles'
    />
const options = ref({
          theme: 'snow',
          modules: {
            toolbar: {
              container: [
                ['bold', 'italic', 'underline', 'strike'],      // 加粗 斜体 下划线 删除线
                ['blockquote', 'code-block'],                   // 引用  代码块
                [{ list: 'ordered' }, { list: 'bullet' }],      // 有序、无序列表
                [{ indent: '-1' }, { indent: '+1' }],           // 缩进
                [{ size: ['small', false, 'large', 'huge'] }],  // 字体大小
                [{ header: [1, 2, 3, 4, 5, 6, false] }],        // 标题
                [{ color: [] }, { background: [] }],            // 字体颜色、字体背景颜色
                [{ align: [] }],                                // 对齐方式
                ['clean'],                                      // 清除文本格式
                ['link', 'image', 'video'],                      // 链接、图片、视频
                [
                  { 'table': 'TD' },
                ],
              ],
                //点击生成图表初始生成一个3*3图表
              handlers: {
                'table': function () {
                  this.quill.getModule('better-table').insertTable(3, 3)
                },
              },
            },
            table: false,
            'better-table': {
              operationMenu: {
                items: {
                  insertColumnRight: {
                    // text: 'Insert column right'
                    text: '右侧插入列'
                  },
                  insertColumnLeft: {
                    // text: 'Insert column left'
                    text: '左侧插入列'
                  },
                  insertRowUp:{
                    // text: 'Insert row up'
                    text: '上方插入行'
                  },
                  insertRowDown:{
                    // text: 'Insert row down'
                    text: '下方插入行'
                  },
                  mergeCells: {
                    // text: 'Merge cells'
                    text: '合并单元格'
                  },
                  unmergeCells: {
                    // text: 'Another unmerge cells name'
                    text: '取消合并单元格'
                  },
                  deleteColumn: {
                    // text: 'Delete column'
                    text: '删除列'
                  },
                  deleteRow:{
                    // text: 'Delete row'
                    text: '删除行'
                  },
                  deleteTable:{
                    // text: 'Delete table'
                    text: '删除表格'
                  }
                },
                background: {
                  color: '#333'
                },
                color: {
                  colors: ['green', 'red', 'yellow', 'blue', 'white'],
                  text: 'background:'
                }
              }
            },
            keyboard: {
              bindings: QuillBetterTable.keyboardBindings
            }
 
          },
          placeholder: 'Insert text here ...'
        }
)

问题:moduleClass is not a constructor,说明vueup/vue-quill没找到quill-better-table依赖,原因是虽然你的quill是2.0.0以上,但是vueup/vue-quill版本还是在2.0.0一下

1.检查你的vueup/vue-quill版本(查看 Quill 版本)

npm list quill

从输出的 npm list quill 可以看到,项目中同时存在两个不同版本的 quill

  1. @vueup/vue-quill@1.2.0 依赖的 quill 版本是 1.3.7
  2. 你的项目直接安装了 quill@2.0.2,并且 quill-better-table@1.2.10 依赖的也是 quill@2.0.2

由于 @vueup/vue-quill 依赖的是 quill@1.3.7,而你想使用的 quill-better-table 需要 quill@2.x,这导致了版本冲突。Quill 的多个版本会引起模块注册和使用时的各种问题,例如模块找不到或无法正确初始化。

解决方案

要解决这个问题,你需要确保整个项目只使用一个版本的 Quill。因为 @vueup/vue-quill 目前依赖 quill@1.3.7,而你需要使用 quill@2.x,这有几种可能的解决方案:

1.强制 @vueup/vue-quill 使用 quill@2.x

  • 由于 @vueup/vue-quill 的当前版本依赖于 quill@1.3.7,你可以尝试通过 npmoverrides 功能(如果你使用的是 npm 7 或更高版本)来强制将 quill 的版本指定为 2.x

在你的 package.json 中添加以下内容:

"overrides": {
  "quill": "^2.0.2"
}

然后运行 npm install

2.使用 Yarn 的 resolutions

  • 如果你使用的是 Yarn,可以在 package.json 中添加以下字段来强制 quill 使用 2.x 版本:
  • "resolutions": {
      "quill": "^2.0.2"
    }
    

    然后运行 yarn install

  • 3手动修改依赖

    • 如果以上方法都不起作用,最后一种方法是手动修改 @vueup/vue-quillpackage.json,将 quill 依赖改为 ^2.0.2,然后在项目中手动链接修改后的 vue-quill 版本。这种方法不太推荐,除非你对整个项目的依赖链有充分的了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven教程——从入门到入坑

第1章 为什么要使用Maven 1.1 获取第三方jar包   开发中需要使用到的jar包种类繁多&#xff0c;获取jar包的方式都不尽相同。为了查找一个jar包找遍互联网&#xff0c;身心俱疲。不仅如此&#xff0c;费劲心血找到的jar包里有的时候并没有你需要的那个类&#xff0c;又或者有…

张飞硬件11~19-电容篇笔记

电容作用 作为源&#xff0c;对后级电路提供能量&#xff0c;对源进行充电。简单讲就是放电和充电。在电路设计中&#xff0c;源往往与负载相隔很远&#xff0c;增加电容就可以起到稳定作用。电容两端的电压不能激变&#xff0c;增加电容可以稳定电压。 电容可以类比为水坝&a…

Git创建本地仓库

一、创建本地空仓库 1、创建项目文件夹 创建一个全新的文件夹&#xff0c;在文件夹中右键&#xff0c;就会显示出来以下两项&#xff1a; 2、初始化仓库 点击第二个&#xff0c;就会在此目录进入 git 的命令行&#xff0c;然后在命令行中输入以下指令&#xff0c; git init…

Ubuntu 22.04 系统中 ROS2安装

Ubuntu 22.04 系统中 ROS2安装 ROS2安装 # 多窗口终端工具 sudo apt update sudo apt install tilix打开软件&#xff0c;点击右上角图标进入设置 -> General -> size120, columns:48Command -> 勾选第一个 Run command as login shellColor -> Theme Color 选择…

C++ 设计模式——解释器模式

目录 C 设计模式——解释器模式1. 主要组成成分2. 逐步构建解释器模式步骤1: 定义抽象表达式步骤2: 实现终结符表达式步骤3: 实现非终结符表达式步骤4: 构建语法树步骤5: 实现内存管理步骤6: 创建上下文和客户端 3. 解释器模式 UML 图UML 图解析 4. 解释器模式的优点5. 解释器模…

STM32学习笔记4 --- USART

目录 通信接口1 USART 串口的通信协议 硬件部分&#xff1a; 软件部分&#xff1a; 字节数据的传递&#xff1a; stm32内部的USART外设 串口发送 串口发送接收 Hex数据包 文本数据包 数据包的收发流程 串口收发Hex数据包 串口收发文本数据包 通信接口1 USART US…

麦克风品牌排行榜前十名,浩瀚、西圣、优篮子领夹麦克风测评PK

​我是一名数码测评师&#xff0c;对各类数码都颇为了解&#xff0c;特别是无线麦克风这种使用频繁的设备&#xff0c;已经上手测评过众多产品。然而测评过程中发现&#xff0c;市场上存在不少劣质产品&#xff0c;打着知名品牌却用着成本很低的材料&#xff0c;性能说很强&…

无人机之摄像头篇

无人机的摄像头是无人机系统中的一个重要组成部分&#xff0c;它承担着捕捉视频和图像的关键任务。随着技术的不断发展&#xff0c;无人机摄像头在分辨率、稳定性、视角、夜视能力、变焦功能以及数据传输等方面都有了显著的进步。以下是一些关于无人机摄像头的主要特点和类型&a…

足球预测可以人工智能AI吗

足球预测可以使用人工智能&#xff08;AI&#xff09;进行&#xff0c;AI在分析数据的速度和精度方面具有显著优势。通过综合考虑球员状态、战术布局、队伍历史表现等众多因素&#xff0c;AI技术可以提供高精度的比赛预测。其中&#xff0c;最值得关注的是AI的机器学习能力&…

9月报名 | 海克斯康电子散热从入门到精通培训

您好&#xff01;感谢您长期以来对优飞迪科技与海克斯康的关注与支持。我们诚邀您参加9月23日-24日的海克斯康电子散热从入门到精通培训&#xff0c;本次培训将帮助您更好了解电子散热基础理论知识、CFD仿真流程及规范、电子散热中所遇现象的分析方法&#xff0c;以及通过采用s…

精益思维在智能电网中的应用和展望

在能源转型与数字化转型的双轮驱动下&#xff0c;智能电网正逐步成为未来电力系统的核心。它不仅提升了电网的灵活性、可靠性和效率&#xff0c;还为实现清洁能源的大规模接入和高效利用提供了坚实基础。而精益思维&#xff0c;这一源自制造业的管理哲学&#xff0c;正悄然融入…

镭射定位灯激光定位使用注意事项?

在现代工业、建筑测量、舞台设计以及科研实验等领域&#xff0c;镭射定位灯(常称激光定位器)因其高精度、远射程和直观性而得到广泛应用。然而&#xff0c;激光作为一种高强度光束&#xff0c;其使用若不当&#xff0c;不仅可能损害设备&#xff0c;还可能对人体健康造成危害。…

java开发简历详解

1、个人情况 姓名&#xff0c;性别&#xff0c;年龄&#xff0c;工作经验&#xff0c;邮箱&#xff0c;联系方式学校、学历、专业竞赛、获奖、班干部 2、个人技术栈 尽量详细的去展示每一个技术栈 1、JVM的写法&#xff1a;技术服务于项目。 2、写法的底气问题。谓词。肯定…

浅析网页不安装插件播放RTSP/FLV视频的方法

早期很多摄像头视频流使用的是RTSP、RTMP协议&#xff0c;播放这类协议的视频通常是在网页上安装插件。但现在越来越多的用户&#xff0c;对于网页安装插件比较反感&#xff0c;且随着移动设备的普及&#xff0c;用户更多的希望使用手机、平板等移动设备&#xff0c;直接可以查…

【MySQL】深圳大学数据库实验一

目录 一、实验目的 二、实验要求 三、实验设备 四、建议的实验步骤 4.1 使用SQL语句创建如上两张关系表 4.2 EXERCISES. 1 SIMPLE COMMANDS 4.3 EXERCISES 2 JOINS 4.4 EXERCISES 3 FUNCTIONS 4.5 EXERCISES 4 DATES 五、实验总结 5.1 数据库定义语言&#xff08;DDL…

mac上jmeter的安装和使用

1、下载jmeter&#xff1a; https://jmeter.apache.org/download_jmeter.cgi 2、解压下载后的文件 3、在解压后的文件夹中&#xff0c;找到bin目录&#xff0c; 4、修改jmeter.properties文件&#xff0c;将界面改为中文 languagezh_CN 5、执行命令&#xff0c;运行Apac…

docker构建多系统架构

manifest是什么&#xff0c;干什么用 manifest是一个文件&#xff0c;这个文件包含了有关于镜像信息&#xff0c;如层、大小和摘要。docker manifest命令还向用户提供附加信息&#xff0c;比如构建镜像的操作系统和体系结构。而manifest list是一个镜像清单列表&#xff0c;用…

必备资源!精选大模型领域100篇必读论文,赶紧加入收藏夹!

本文主要为当前大模型领域热门研究方向&#xff08;如文生图、文生视频、文生音乐等&#xff09;的热门论文。希望能够为大家提供较为全面的大模型最新研究进展。当然&#xff0c;目前还无法涵盖所有热门论文以及研究方向&#xff0c;望请见谅。 以下&#xff0c;为2024年2月份…

spring cloud 应用连接开启鉴权的nacos 的一个坑(鉴权失败)

Nacos开启鉴权之后&#xff0c;bootstrap.yml增加spring.cloud.nacos.config.username 和 password&#xff0c;如下&#xff1a; spring:application:name: artifactIdactive: testcloud:nacos:config:server-addr: ${NACOS_HOST:192.168.21.60:8848}namespace: ${NACOS_NAME…

污泥浓度在线分析仪

污泥浓度在线分析仪在保障水质安全、守护碧水蓝天方面扮演着至关重要的角色。随着城市化进程的加快和工业发展的不断推进&#xff0c;水体污染问题日益严峻&#xff0c;污泥作为污水处理过程中的副产物&#xff0c;其浓度的高低直接影响到出水水质和后续处理工艺的效果。因此&a…