扩展 Quill 时遇到问题
Having problems extending Quill
我在扩展 Quill 时遇到了一些问题。
我想修改 Quill 中的 List
和 ListItem
class,所以我尝试将 formats/list.js
复制到我的代码库中作为起点。然后我导入我的本地副本并像这样用 Quill 注册它...
import { List, ListItem } from './quill/list';
Quill.register({
'formats/list': List,
'formats/list/item': ListItem
}, true);
但是,当我尝试在编辑器中创建列表时,代码在列表 class 中崩溃并出现以下错误:
ParchmentError {message: "[Parchment] Unable to create list-item blot", name: "ParchmentError"}
这发生在这条线上... https://github.com/quilljs/quill/blob/develop/formats/list.js#L99
我认为它与我被迫更改的导入有关,但我无法弄清楚哪里出了问题。我没有对 list.js 进行任何其他更改。原始文件有以下内容:-
import Block from '../blots/block';
import Container from '../blots/container';
我改成了这个:-
import Quill from 'quill';
let Block = Quill.import('blots/block');
let Container = Quill.import('blots/container');
是我导入的方式不对吗?是什么导致了错误?
几个小时前我遇到了这个问题。
在 Quill 的源代码中,List
是默认导出,而 ListItem
是命名导出。
因此您的导入应如下所示:
import List, { ListItem } from './quill/list';
请务必将它们正确地导出到您的自定义 list.js
文件中。
祝你好运!
想出来了(一位同事做得很好)。
我需要像这样导入 Parchment :-
let Parchment = Quill.import('parchment');
而不是import Parchment from 'parchment';
这是因为您最终会得到与 Quill 内部使用的静态 Parchment class 不同的静态 Parchment,因此向 Quill 询问它的实例可确保你们都使用同一个(即,一个印迹被登记的地方)。
我在扩展 Quill 时遇到了一些问题。
我想修改 Quill 中的 List
和 ListItem
class,所以我尝试将 formats/list.js
复制到我的代码库中作为起点。然后我导入我的本地副本并像这样用 Quill 注册它...
import { List, ListItem } from './quill/list';
Quill.register({
'formats/list': List,
'formats/list/item': ListItem
}, true);
但是,当我尝试在编辑器中创建列表时,代码在列表 class 中崩溃并出现以下错误:
ParchmentError {message: "[Parchment] Unable to create list-item blot", name: "ParchmentError"}
这发生在这条线上... https://github.com/quilljs/quill/blob/develop/formats/list.js#L99
我认为它与我被迫更改的导入有关,但我无法弄清楚哪里出了问题。我没有对 list.js 进行任何其他更改。原始文件有以下内容:-
import Block from '../blots/block';
import Container from '../blots/container';
我改成了这个:-
import Quill from 'quill';
let Block = Quill.import('blots/block');
let Container = Quill.import('blots/container');
是我导入的方式不对吗?是什么导致了错误?
几个小时前我遇到了这个问题。
在 Quill 的源代码中,List
是默认导出,而 ListItem
是命名导出。
因此您的导入应如下所示:
import List, { ListItem } from './quill/list';
请务必将它们正确地导出到您的自定义 list.js
文件中。
祝你好运!
想出来了(一位同事做得很好)。
我需要像这样导入 Parchment :-
let Parchment = Quill.import('parchment');
而不是import Parchment from 'parchment';
这是因为您最终会得到与 Quill 内部使用的静态 Parchment class 不同的静态 Parchment,因此向 Quill 询问它的实例可确保你们都使用同一个(即,一个印迹被登记的地方)。