Lexical 的核心是一个文本编辑引擎 —— 一个为网络建立功能丰富的编辑器的平台。为了避免用户在每一个实现中重复编写相同的富文本功能,Lexical 还公开了一组单独的、模块化的包,诸如用户界面组件、工具栏、富文本功能和标记等功能都可以通过这些包来实现和扩展。
Lexical 的底层引擎主要由三个部分组成:
- 编辑器实例,每个实例都附加到一个可编辑的内容元素上。
- 一组编辑器状态,代表编辑器在任何特定时间的当前和待定状态。
- 一个 DOM 调节器,它接收一组编辑器状态,对变化进行差异化处理,并根据其状态更新 DOM。
在设计上,Lexical 的核心是尽可能的简化。以 UI 组件、工具栏、富文本和 Markdown 这些功能为例,它们在逻辑上可以通过一个插件接口包含进来,并在需要的时候使用。这确保了极大的可扩展性,并将代码大小保持在最低水平。
浏览器兼容性:
- Firefox 52+
- Chrome 49+
- Edge 79+(Chromium)
- Safari 11+
- iOS 11+ (Safari)
- iPadOS 13+ (Safari)
- Android Chrome 72+
注意:Lexical 不支持 Internet Explorer 或旧版本的 Edge 浏览器。Lexical 目前正处于早期开发阶段,API 和包可能会发生变化。
本文转自OSCHINA
本文Meta 开源可扩展的文本编辑器框架 Lexical
本文地址:https://www.oschina.net/news/191308/meta-open-source-lexical