Meta开源其Web文本编辑器框架:Lexical


Lexical 是一个可扩展的 JavaScript Web 文本编辑器框架,强调可靠性、可访问性和性能。
Lexical 的核心是一个无依赖的文本编辑器引擎,它允许在其上构建强大、简单和复杂的编辑器实现。Lexical 的引擎提供了三个主要部分:

  • 每个附加到单个内容可编辑元素的编辑器实例。
  • 一组编辑器状态,代表编辑器在任何给定时间的当前和未决状态。
  • 一个 DOM 协调器,它接受一组编辑器状态,区分更改,并根据它们的状态更新 DOM。

在设计上,Lexical 的核心尽量做到最小化。Lexical 并不直接关注单体编辑器倾向于做的事情——例如 UI 组件、工具栏或富文本功能。相反,这些功能的逻辑可以通过插件接口包含在内,并在需要时使用。这确保了极大的可扩展性并将代码大小保持在最低限度。

对于 React 应用程序,Lexical 通过可选@lexical/react包与 React 18+ 紧密集成。这个包提供了可用于生产的实用程序函数、帮助程序和 React 钩子,使在 React 中创建文本编辑器变得毫不费力。

点击标题