通过功能比较评估不同的React富文本编辑器
今天,富文本编辑器被用于许多应用程序中,包括简单的博客和复杂的内容管理系统。然而,选择一个并不容易,因为有很多具有不同功能的编辑器。
因此,在这篇文章中,我将评估5个React的富文本编辑器,并对其功能进行比较,以帮助你选择最适合你要求的。
1.Draft.js - 最受欢迎的基本需求的免费编辑器
Draft.js是Facebook的一个开源项目,为React构建。这是一个强大的、可扩展的、可定制的框架,它在React开发者中非常受欢迎。
根据Facebook的说法,这个库被用于Facebook的状态、评论和messenger.com。
优点
- 高度的可扩展性和可定制性,有建立在Draft.js之上的插件。
- 扁平的内容模型很容易理解。
- 由于自2016年以来得到Facebook支持的大型、不断增长的开源开发者社区,因此有许多教程和支持。
缺点
- 当需要复杂的内容结构(如表格)时,编辑器会变得很慢,代码也会变得复杂。
- OSX的自定义键绑定问题。
- 没有官方的移动支持。
Draft.js在GitHub上有超过2万颗星,NPM每周有大约62万次下载。
如果你是一个初学者,想实现一个文本编辑器的基本需求,我为你推荐Draft.js,你可以使用npm或yarn轻松安装它。
npm install draft-js
2.Slate.js - 支持复杂内容的免费编辑器
Slate.js是另一个令人兴奋的React富文本编辑器,灵感来自Draft.js。而且你可以用它来构建像Medium Editor、Dropbox Paper或Google Docs那样的漂亮编辑器。
虽然Slate.js仍处于测试阶段,但它在GitHub上有超过20K颗星。
优点
- 产生JSON输出,使其更容易与其他模块集成。
- 它的嵌套文档模型支持更复杂的内容结构,如表格、分页符和其他自定义功能。
- 可通过使用插件进行扩展。
- 有很好的描述性文档 和互动演示。
- 受到Salesforce和Airtable的信任。
缺点
- 仍处于测试阶段(截至2021年5月),这对于信任和在生产网站上实施可能是个坏消息。
- 需要更多的初始UI设置来适应编辑器控制。
然而,如果你想实现一个具有自定义功能的内存优化的富文本编辑器,Slate.js是你最好的选择之一,它可以使用yarn或npm轻松安装。
yarn add slate slate-react
3.Quill.js - 带有主题的免费API驱动的编辑器
排名第三的是Quill.js,它是具有跨平台和跨浏览器支持的富文本编辑器。因此,这是你在台式机、平板电脑和手机的所有现代浏览器上寻找流畅功能的最佳选择。
Quill.js在GitHub上有29.9万个星星,在NPM上每周有超过57万次下载。
优点
- 由于其API驱动的设计,不需要像其他文本编辑器那样解析HTML或不同的DOM树。
- 支持自定义内容和格式,有预设的编辑器样式。
- 跨平台和浏览器支持。
- 易于设置。
缺点
- 可能存在XSS安全漏洞。
- 功能的定制是有限的。
- 较少的更新和补丁。
你可以使用NPM安装Quill.js或者使用CDN版本。
npm install quill@1.3.6
<!-- or use the bellow CDN -->
<!-- Main Quill library -->
<!-- Theme included stylesheets -->
<!-- Core build with no theme, formatting, non-essential modules --> <link href="//cdn.quilljs.com/1.3.6/quill.core.css" rel="stylesheet">
4.TinyMCE - 商业功能的富文本编辑器
这个编辑器是一个商业库,带有大量的铃声和口哨。如果你有一些额外的钱,并希望拥有一个不头痛的强大的文本编辑器,TinyMCE是一个不错的选择。
优点
- 支持实时协作。
- 支持提及和评论。
- 先进的表格和复杂内容支持。
- 增强的媒体嵌入支持。
- 自动链接检查器。
缺点
- 需要购买订阅才能使用高级功能。
TinyMCE为你提供了核心(免费计划,功能有限)、基本(每月25美元)、专业(每月75美元)和灵活(自定义定价)等定价计划。
在做决定之前,你可以随时尝试免费版本或试用。TinyMCE提供了良好的文档,包括关于其功能和安装的所有细节。
5.KendoReact - 商业生产就绪的编辑器
Kendo可能是市场上最有名的商业UI组件库。
它是一个高度稳定的、可用于生产的库,毫无疑问,它有最好的客户支持服务。
优点
- 闪电般的性能。
- 高度的可定制性。
- 可用于生产应用。
- 全球化支持。
- 客户支持。
缺点
- 极其昂贵。
与免费编辑器相比,Kendo有一些奇妙的功能。如果你对文本编辑器有高度竞争性的业务需求,并且正在寻找一个无忧无虑的未来解决方案,那么这款软件适合你。
Kendo有3个不同的计划:KendoReact.KendoUI和DevCraft,每个开发者的永久许可证从899美元到1499美元不等。
与DevCraft相比,前两个套餐有一些限制,你可以在他们的网站上找到完整的比较。
奖励: TipTap - 免费的现代文本编辑器
这是我个人的最爱。尽管这个编辑器还在测试阶段,但有许多令人兴奋的功能。
TipTap是一个无头编辑器,它允许你完全自定义。这个编辑器也支持实时协作。
优点
- 可定制的用户界面。
- 键盘快捷键。
- 移动支持。
- 协作式编辑。
缺点
- 仍然是测试版(但很稳定,并有一个快速增长的开发者社区的支持)。
尽管相当新,TipTap在GitHub上有超过10K颗星,每周有93,000多次NPM下载。
如果你正在寻找一个免费的、功能丰富的、来自React的现代文本编辑器?在这种情况下,我强烈推荐TipTap供你试用。
# install with npm
# install with Yarn
总结
以上的富文本编辑器只是React可用的众多编辑器中的一个子集。然而,我介绍了6种不同的编辑器,并介绍了它们的优点和缺点,以便为你的需要挑选理想的编辑器。
我希望我的建议能帮助你为你的项目选择最好的富文本编辑器。不要忘记分享你使用这些库后的想法。
谢谢您的阅读!!