来公司快半年了,让我记忆最深刻的居然还是一个编辑器,由于公司的业务的需要, 需要寻找一款偏底层,好扩展的富文本编辑器,由于项目是基于vue,所以首先考虑到的draftjs和slatejs 。 我们项目的需求特别复杂,draftjs应用起来总感觉性能不好,容易跳光标。slatejs感觉有些功能(拖拽)不太好实现,没有那么方便。最后项目经理让我去查查,我发现了QuillJS,做完一个项目后,更加坚定了我的选择,代码结构清晰,让人眼前一亮,虽然Quill初次使用,不太好理解,detla, blot,这些概念容易混淆。官方文档过于简单。 但源码就是最好的答案。 读完源码后,起初不太会用的东西,碰到很多坑,现在都可以理解了。 但不可否认,Quill也不是最完美的,还有很多可以改进的地方。所以将我的理解分享给大家,避免碰到一些弯路,过于简单的使用,我不会讲,大家可以去官方文档看,我会从源码的角度,讲比较深入的细节。涉及模块开发,怎么设计一个自定义的Module和Blot,怎么把React组件嵌入在QuillJS里面,怎么构建一个子编辑区域等等,如有说的不当之处,请大家指正,谢谢大家。