简介
websequencediagrams-ws 是一个基于 Node.js 的 npm 包,用于在 Markdown 文件中添加时序图。时序图是在软件工程中非常常用的一种图形化工具,它可以清楚地展示软件系统各模块之间的交互流程。websequencediagrams-ws 通过向 websequencediagrams.com 发起 API 请求,将代码转换为时序图,并将其嵌入在 Markdown 文件中。
安装
在使用 websequencediagrams-ws 之前,首先需要安装 Node.js,安装过程请参见 https://nodejs.org/en/download/。安装 Node.js 后,可以在命令行中执行以下命令进行安装:
$ npm install websequencediagrams-ws --save
安装完成后,即可在项目中引入 websequencediagrams-ws。
const websequencediagrams = require('websequencediagrams-ws');
使用方法
websequencediagrams-ws 很容易使用,我们只需要调用 websequencediagrams()
方法,并将时序图的代码作为参数传入即可。该方法会将代码转换成图片,并返回一个 Promise 对象,该 Promise 对象的 Resolve 值为图片的 Base64 数据。我们可以将图片数据直接嵌入在 Markdown 文件中,从而展示出时序图。
-- -------------------- ---- ------- ----- ------------------- - ---------------------------------- ----- -- - -------------- ----- ---- - - ------ ----- ------- ------ -- ------ -- ---------------------------------------------- -- - -------------------------------- --- ----------------- ----------- ---
深入学习
- 在开始使用之前,建议先熟悉时序图的基本语法,否则可能会花费更多的时间进行代码的调整。时序图的规则文档可参见 https://www.websequencediagrams.com/examples.html。
- 我们可以使用
options
参数对时序图的样式进行调整,例如:backend: 'dot'
可以将渲染后的时序图缓存至本地。更多 options 的信息请参考 https://sequencediagram.org/examples.html#options。 - 内存警告:websequencediagrams-ws 会在内存中缓存转换后的图片,默认缓存时长为 60 秒。如果你在连续使用该方法时,建议选择调整缓存时长或使用
cache:false
关闭缓存。
示例代码
-- -------------------- ---- ------- ----- ------------------- - ---------------------------------- ----- -- - -------------- ----- ---- - - ------ ----- ------- ------ -- ------ -- ----- ------- - - ------ ---------- ------- ------ ------ ---- ------- ---- ----- --------- -------- ------ ---------------- --- -------------- --- ------ ----- -- ------------------------------------ ------------------- -- - ---------------------------------- ------------------ ----------- ------------ -- - ------------------- ---
总结
websequencediagrams-ws 是一个非常实用的 npm 包,它让我们可以方便地生成时序图,将其嵌入在 Markdown 文件中,展示系统交互流程。如果你的工作中需要经常展示交互流程,那么 websequencediagrams-ws 肯定是一个不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005569081e8991b448d3589