跳到主要内容

BPMN-JS 介绍

bpmn-js 简介​

bpmn-js 是一个基于 Web 的 BPMN 2.0(Business Process Model and Notation)流程建模与渲染框架,由 Camunda 团队开源维护,使用 JavaScript 实现,能够在浏览器中对 BPMN 流程进行可视化展示、编辑与交互。

它遵循 BPMN 2.0 标准规范,能够解析和生成符合标准的 BPMN XML 文件,广泛应用于流程设计器、工作流平台、低代码 / 无代码系统等场景。

核心能力​

1. BPMN 流程渲染​

  • 将 BPMN 2.0 XML 渲染为 SVG 图形
  • 支持流程、事件、网关、子流程、泳道等全部标准元素
  • 具备良好的视觉一致性,符合 BPMN 官方语义

2. 流程建模与编辑​

  • 提供完整的 Web 端流程编辑器
  • 支持拖拽创建、连接、删除 BPMN 元素
  • 支持元素属性配置(如 ID、名称、条件表达式等)
  • 可与自定义表单或属性面板深度集成

3. BPMN XML 读写​

  • 导入 BPMN XML → 渲染流程图
  • 编辑流程 → 导出 BPMN XML
  • 与后端流程引擎(如 Flowable、Camunda、Activiti)高度兼容

4. 高度可扩展的架构​

  • 基于模块化和事件驱动设计

  • 支持通过插件方式扩展:

    • 自定义节点类型
    • 自定义属性面板(Properties Panel)
    • 自定义渲染样式(Renderer)
    • 自定义校验规则(Lint)

核心依赖​

  • diagram-js: 用于在web上显示和修改图表的工具箱。是 bpmn-js 的基础,bpmn-js 是在其之上实现的。
  • ids: 一个简单的ID生成器,用于生成 BPMN 元素的 ID。
  • tiny-svg: 一个简单的 SVG 创建和拷贝工具

部分扩展​

更多扩展可通过 Github 官方仓库查找。-->直通车-->