准备写个富文本编辑器,各位有什么想法?

2020-03-19 11:53:57 +08:00
 DemonQ

基于 slate.js 开发。想咨询下大佬们:

  1. 在富文本编辑器的开发中有些什么痛点
  2. 在富文本编辑器的使用中有什么痛点
  3. 你期望一个编辑器应该包含哪些?不仅是在使用上,还有开发中(比如说易于扩展之类)
  4. 你见过哪些复合你的预期的富文本编辑器,是不是开源的?
10323 次点击
所在节点    程序员
79 条回复
wezzard
2020-03-19 12:01:20 +08:00
抽象層級複雜。排版引擎一個層級、programmtically 訪問的業務接口一個層級、用戶互動一個層級。

控制器加上裏面的子模塊,基本上三四萬行起。
micean
2020-03-19 12:05:25 +08:00
祝福楼主
想一想我就脑壳痛的东西
huayumo
2020-03-19 12:05:58 +08:00
Mogugugugu
2020-03-19 12:19:12 +08:00
雨雀的富文本是非常棒的、供楼主参考,不开源。
loading
2020-03-19 12:21:55 +08:00
建议去了解一下这有多难,一个团队都疯掉的东西。
如果你这是指 vue.js 例子那种 markdown 就当我没说吧。
iamdqncoder
2020-03-19 12:27:10 +08:00
貌似这是个大坑
ayase252
2020-03-19 12:28:25 +08:00
想起这玩意睡觉都睡不好,真的,极其容易出 bug
jydeng
2020-03-19 12:28:36 +08:00
我也曾经想过,后来放弃了,项目上用 CKEDITOR+自制插件,满足了需求。
mywaiting
2020-03-19 12:29:19 +08:00
ProseMirror 了解一下
murmur
2020-03-19 12:35:22 +08:00
图表、富文本编辑器都是前端深坑,图表还可以做简单,富文本做简单就是没法用,最后还要用别人的
nightwitch
2020-03-19 12:36:58 +08:00
先考虑一下蒙文这种自上而下的排版以及从右到左的阿拉伯语该怎么排版。这两种是富文本的梦魇
abcbuzhiming
2020-03-19 12:37:36 +08:00
富文本编辑器是超级大坑,名列知乎“哪些是产品经理觉得简单实际上超级难的需求”的前 5 名
justfortest
2020-03-19 12:37:56 +08:00
曾经我业余写一个 web 聊天,自己搞消息编辑器,包括光标、复制、表情、图片、链接,真的脑壳疼,需要考虑的事情太多了,建议打消这个念头,编辑器不可能契合所有用户,基本都要自己修修改改。
ericls
2020-03-19 12:41:56 +08:00
首先你得 fight dom. 比如 composition state 这一类的东西 总之 dom 得和你的数据同步。

另外就是你得设计模型 如果纯文本好说 如果有结构就比较复杂了 关键是你还是得和 dom 做同步……

然后你得考虑一些只有渲染时候出现 但是不是数据的一部分的东西 来渲染比如语法高亮 白空 根据鼠标位置等外部数据的渲染

然后你得考虑协同 用 CRDT 还是 OT. 你的 flow control 等等 离线模式怎么设计


以上东西我整整花了一年
Runningzs
2020-03-19 12:43:00 +08:00
这个问题你应该问一下富文本编辑器大国:韩国人 (手动狗头)
IDCFUN
2020-03-19 12:45:10 +08:00
求问各位大大一个编辑器有关的问题,textarea 里有一段文字,我选中中间一部分,然后点击一个按钮在选中部分前边插入<a>,后边插入</a>,这个用原生 JS 如何 实现呢?谢谢啦。
dremy
2020-03-19 12:58:49 +08:00
勇士,祝好运
ericls
2020-03-19 13:00:22 +08:00
@IDCFUN textarea 不好。用 content editable。然后就好操作了
IDCFUN
2020-03-19 13:16:55 +08:00
@ericls 谢谢,我去了解一下。
fancy111
2020-03-19 13:18:42 +08:00
既然都自行开发富文本编辑器了,就不要用第三方的任何东西。直接手写 JS,原生。我看好你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX