在扩展Quill时遇到问题

Rik*_*ood 5 import ecmascript-6 quill parchment

我在扩展Quill方面遇到了一些问题.

我想在Quill中修改ListListItem类,所以我尝试将formats/list.js我的代码库复制到起点.然后我导入我的本地副本并将其注册到Quill,就像这样......

import { List, ListItem } from './quill/list';

Quill.register({
    'formats/list': List,
    'formats/list/item': ListItem
}, true);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在编辑器中创建列表时,代码在List类中崩溃,并出现以下错误:

ParchmentError {message: "[Parchment] Unable to create list-item blot", name: "ParchmentError"}
Run Code Online (Sandbox Code Playgroud)

这发生在这一行...... https://github.com/quilljs/quill/blob/develop/formats/list.js#L99

我认为它与我被迫改变的进口有关,但我无法弄清楚出了什么问题.我没有对list.js做任何其他更改.原始文件包含以下内容: -

import Block from '../blots/block';
import Container from '../blots/container';
Run Code Online (Sandbox Code Playgroud)

我改为: -

import Quill from 'quill';
let Block = Quill.import('blots/block');
let Container = Quill.import('blots/container');
Run Code Online (Sandbox Code Playgroud)

我导入错误的方式是什么?是什么导致错误?

Rik*_*ood 5

想出来(好吧,一位同事).

我需要像这样导入羊皮纸: -

let Parchment = Quill.import('parchment');
Run Code Online (Sandbox Code Playgroud)

代替 import Parchment from 'parchment';

这是因为你最终会得到一个与Quill内部使用的静态Parchment类不同的静态Parchment类,所以向Quill请求它的实例可以确保你们都使用相同的一个(即,注册了blots的那个).