时隔五年, Quill 2.0 终于发布!重回富文本巅峰!

2024年 5月 11日 78.3k 0

Quill 2.0 来啦!

自最初的 1.0 版本发布以来,Quill 见证了来自快速发展的初创公司、知名品牌和老牌财富 500 强公司的众多成功案例,这些公司已将 Quill 纳入其面向用户的产品的一些最重要和核心的部分

Quill 用户数很多,所以发新版本的时候,无缝衔接很重要,在提高了 Quill 功能的同时,也要让开发人员的使用负担降到最低~

随着 Quill 2.0 的正式发布,GitHub 存储库已从上次发布 Quill 1.3.7 时的 23k star 增加到超过 41k star

时隔五年, Quill 2.0 终于发布!重回富文本巅峰!-1图片

接下来讲解一下,Quill 2.0 做了哪些更新~

TypeScript的支持

Quill的源代码已经完全迁移到TypeScript,从中我们获得了早期错误检测、改进的可维护性以及更好的工具支持等诸多优势。这使得我们的代码库更为强大,也为Quill和我们的开发者社区带来了更多好处。

在此之前,开发者需要单独安装@types/quill这个包,才能获取到TypeScript的定义。然而,这种方式有时并不够准确,甚至可能与Quill的实际类型不符合,因为这个包是由我们更广泛的社区维护的,因此与核心Quill包的更新也不一定同步。

但是,有了Quill 2.0,这些麻烦和出错的机会都将成为过去。开发者现在可以直接从源头获取类型信息。要进行升级,只需从项目中移除@types/quill包,TypeScript将自动从Quill中选择相应的声明。

时隔五年, Quill 2.0 终于发布!重回富文本巅峰!-2图片

表格的支持

2.0 从功能上来说,我觉得最大的变化就是支持表格的操作

时隔五年, Quill 2.0 终于发布!重回富文本巅峰!-3图片

时隔五年, Quill 2.0 终于发布!重回富文本巅峰!-4

性能提升

Quill 2.0 做了许多性能优化工作,其中最为重要的是提升了对大型内容的渲染速度

  • 这些优化包括增加了 insertBefore 函数,并且尽可能地使用 insertBefore 来提高 setContents 函数的性能
  • 通过对 getRange 函数进行优化,提升了同时渲染多个 Quill 实例的性能,经过优化后,即使在同一个页面上同时渲染了4000个 Quill 实例,其渲染性能也提升了近10倍
  • 优化了 Quill 实例的初始化逻辑,当内容为空时,无需执行 setContents 函数

在渲染4000个 Quill 实例的情况下,经过优化前后加载时间的对比如下:

时隔五年, Quill 2.0 终于发布!重回富文本巅峰!-5图片

注册多个 Quill 用例

随着Quill变得越来越流行并被广泛使用,我们开始经常看到各种用例,有时一个页面上甚至会同时出现多个实例。

比如说,在一个博客平台上,Quill可能被用来为博客帖子提供一个全功能的编辑界面,包括编辑标题、插入图片和代码块;而在同一个页面上,Quill也可能被用于评论区,提供基本的文本格式化功能,如加粗、斜体和插入链接。

Quill 2.0引入的新注册表(registry)功能支持了这种场景,使得同一个页面上可以存在多个配置各异的编辑器实例,而且它们之间不会互相冲突。欲了解更多关于注册表的信息,请参阅文档

文档:https://slab.com/blog/announcing-quill-2-0/

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论