Tiptap 3.0 正式发布!你必须知道的 20 个重大变化 🚀🚀🚀

Tiptap 作为基于 ProseMirror 构建的现代富文本编辑器,在前端富文本场景中拥有广泛的使用者。2025 年,Tiptap 正式推出了 3.0 版本(即 Tiptap V3),本次更新带来了架构、性能、开发体验等方面的全方位升级。

🛠 核心升级与破坏性变化

1. 移除 UMD 构建

Tiptap 3.0 不再支持 UMD 模块格式,仅保留现代前端主流的 ESM 和 CJS 构建方式。这意味着你需要更新构建工具链,确保支持模块导入。

2. React 性能优化:shouldRerenderOnTransaction

React 用户现在可以通过 shouldRerenderOnTransaction 控制 rerender 频率。默认关闭,大幅减少无谓刷新,提高性能。如果你依赖自动刷新,请手动开启该选项。

3. 浮动菜单库切换至 @floating-ui

原先依赖的 tippy.js 被替换为更强大和灵活的 @floating-ui。开发者需安装 @floating-ui/dom@^1.6.0 并更新配置项名为 options。

4. 更严格的类型系统

TypeScript 支持显著增强:

  • getPos() 现在可能返回 undefined,需显式判断
  • 插件配置与方法参数类型更加规范

5. 旧 API 被移除

  • editor.getCharacterCount() → 替换为 editor.storage.characterCount.characters()
  • placeholder 插件中的 considerAnyAsEmpty 配置被删除

6. 扩展包统一整合

多个扩展从独立包迁移至 @tiptap/extensions,包括:

  • History(现为 UndoRedo)
  • Placeholder
  • CharacterCount
  • DropCursor
  • GapCursor
  • TrailingNode
  • Focus
  • Selection

7. 扩展命名调整

  • CollaborationCursor 改名为 CollaborationCaret
  • History 更名为 UndoRedo,避免与协作历史功能混淆

✅ 新功能与体验优化

编辑 API 显著增强

  • clearContent 和 setContent 现在会触发更新事件,符合预期逻辑
  • insertContent 修复段落拆分问题
  • 新增实用函数如 delete()、canInsertNode()、属性验证器等,提升开发安全性与表达力

编辑器生命周期管理

  • 新增 editor.unmount() 方法 替代 destroy(),保留实例状态支持重新挂载,提升页面切换/缓存的灵活性

SSR 与静态渲染支持

  • 3.0 原生支持无 DOM 环境初始化
  • 引入 @tiptap/static-renderer,可将编辑内容渲染为 HTML、Markdown、React/Vue 组件,适用于 SSG 场景(如 Next.js/静态博客)

JSX 渲染能力增强

  • 在 renderHTML 中可直接书写 JSX,提升表达能力与组件集成能力(React/Vue 均受益)

StarterKit 扩展增强

StarterKit 默认引入更多实用扩展: Link、Underline、TrailingNode、ListKeymap 等,让项目更快启动。

MarkView 支持

全新 MarkView 系统允许为 mark 类型自定义视图,支持框选/高亮/弹窗选择器等富交互特性(React/Vue 渲染)

节点与标记删除事件监听

3.0 增加了对用户删除行为的事件监听能力,方便你进行统计、阻止误删、数据追踪等高级功能。


🧩 扩展包与 UI 工具更新

扩展名 更新内容
HorizontalRule 判断逻辑更精确,兼容性更好
Image 支持宽高属性设置
Link/Mention 支持 @、# 等字符作为触发器
TextAlign 新增 toggleTextAlign 命令
TaskList 增加可选无障碍标签
Math 从 Mark 改为 Node,需迁移数据格式
YouTube URL 识别更精准
Emoji 增加 alt 辅助文本,更友好屏幕阅读器

React / Vue UI 支持

  • 所有浮动类菜单统一切换至 @floating-ui 实现,表现更稳定,支持更多生命周期钩子:onShow、onHide、onDestroy 等
  • React 兼容 React 19 的新 ref 行为,支持 SSR
  • Vue 提供一致的菜单钩子支持,保持一致性体验

🔮 未来规划(Tiptap 3.x)

Tiptap 团队正在规划更多强大功能:

  • ✅ Markdown 支持 :即将支持 renderMarkdown() 与 parseMarkdown(),双向转换内容
  • 🧩 Decorations API:将允许为内容添加"装饰层",不改变原始数据,适合批注/高亮
  • 🛠 内容迁移工具:提供 JSON schema 转换器,支持内容结构版本更新迁移

✅ 总结

Tiptap 3.0 是一次极具诚意的更新,为富文本开发者提供了更优的性能、更现代的架构、更强的类型支持和更丰富的渲染能力。 无论你是构建文档型编辑器、协作平台、还是静态博客管理系统,现在都是升级 Tiptap 的最佳时机。

相关推荐
Java后端的Ai之路3 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
程序员海军9 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
zttbee10 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
excel11 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
子兮曰12 小时前
CSS 复现 23 种设计风格:从拟物到液态玻璃的成本阶梯与兜底写法【实战】
前端·css·视觉设计
虚无境12 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程
柳杉13 小时前
从数字化到数智化:3D 可视化大屏的下一个五年
前端·ai编程·数据可视化
濮水大叔13 小时前
函数式与对象式:前端架构的两种成本曲线
vue.js·react.js·函数式编程
zimoyin13 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
风骏时光牛马14 小时前
从零到实战:AI全栈学习进阶路线
前端