通过实践学习TDD:在Umbraco富文本编辑器中标记成员

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

作者在构建系统时,为了在网站文本中提及Umbraco成员,扩展了Umbraco的TinyMCE富文本编辑器。通过AngularJS装饰器和TinyMCE的'autoCompleters'功能,实现了成员提及功能。使用Jest进行测试,并创建了MentionsManager类来管理提及逻辑,包括从后端获取数据并插入编辑器。尽管代码简单易变,但作者对UI与业务逻辑的结合方式仍有疑虑。

🎯

关键要点

  • 作者在构建系统时需要在网站文本中提及Umbraco成员。
  • 为了实现成员提及功能,作者扩展了Umbraco的TinyMCE富文本编辑器。
  • 使用AngularJS装饰器和TinyMCE的'autoCompleters'功能来实现提及功能。
  • 提及的格式为<mention user-id="1324" class="mceNonEditable">@D_Inventor</mention>。
  • 作者使用Jest进行测试,并创建了MentionsManager类来管理提及逻辑。
  • MentionsManager类负责从后端获取数据并插入编辑器。
  • 作者对UI与业务逻辑的结合方式存在疑虑,认为代码简单易变。
  • 在测试过程中,作者发现TypeScript编译器的严格性。
  • 作者实现了fetch和pick方法来处理提及的获取和插入。
  • 作者对Range接口的使用感到不确定,认为可能有更好的实现方式。
➡️

继续阅读