js2flowchart.js 教程

HTML5 herman 2062浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

js2flowchart.js是一个可以将任何JavaScript代码转换成漂亮的SVG流程图的可视化库。该插件目前已开源到github,有超过1300多个star。本文介绍js2flowchart.js的相关教程。

js2flowchart能做什么?

js2flowchart以您的JS代码并返回SVG流程图,在客户端/服务器上运行,支持ES6。

主要特点:

  • 定义的抽象级别仅呈现导入/导出,类/函数名称,函数依赖关系来逐步学习/解释代码。
  • 自定义抽象层次支持创建你自己的
  • 演示生成器生成SVG列表以便获取不同的抽象级别
  • 定义流程树修饰符来映射众所周知的API,比如ie [] .map,[] .forEach,[] .filter到Loop结构等等。
  • 销毁修饰符来替换方案中的一个形状的代码块
  • 自定义流程树修饰符支持创建您自己的一个
  • 流树忽略过滤器完全省略一些代码节点,即日志行
  • 重点节点或整个代码逻辑分支来突出重点部分的方案
  • 模糊节点或整个代码逻辑分支来隐藏不太重要的东西
  • 定义的样式主题支持选择一个你喜欢的
  • 自定义主题支持创建自己的一个更适合您的上下文颜色
  • 自定义颜色和样式支持提供方便的API来更改特定的样式,而无需样板

安装

js2flowchart是一个从JavaScript代码生成漂亮的SVG流程图的工具。下面我们使用NPM来进行安装它。

yarn add js2flowchart

基本用法

首先我们来实现一个简单的demo。html代码如下:

<div>
  <p id="svgImage"></p>
</div>
<!-- 业余草:www.xttblog.com -->

剩下的就是最主要的JavaScript代码了:

const code = `
function indexSearch(list, element) {
  let currentIndex,
    currentElement,
    minIndex = 0,
    maxIndex = list.length - 1;

  while (minIndex <= maxIndex) {
    currentIndex = Math.floor(maxIndex + maxIndex) / 2;
    currentElement = list[currentIndex];

    if (currentElement === element) {
      return currentIndex;
    }

    if (currentElement < element) {
      minIndex = currentIndex + 1;
    }

    if (currentElement > element) {
      maxIndex = currentIndex - 1;
    }
  }

  return -1;
}`;

const {createFlowTreeBuilder, createSVGRender} = js2flowchart;

const flowTreeBuilder = createFlowTreeBuilder(),
    svgRender = createSVGRender();

const flowTree = flowTreeBuilder.build(code),
    shapesTree = svgRender.buildShapesTree(flowTree);

const svg = shapesTree.print();

document.getElementById('svgImage').innerHTML = svg;

最后的运行效果如下:

根据 JavaScript 代码生成漂亮的 SVG 流程图

另外js2flowchart还提供了很多常用的api,建议大家到它的官网进行深入的学习。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » js2flowchart.js 教程