网站首页 > 技术文章 正文
「小墨是前端」专注分享前端技术,推荐优秀的开源项目,展示Github、Gitee上的创意作品,带你深入前端底层,一起成长。
本期推荐:
一个好的工具可以极大地提高我们的开发效率。本期,我给大家推荐一个非常棒的前端项目——bpmn-js。
一、简介
bpmn-js是一个流程图的建模工具,用在在浏览器中创建、嵌入和扩展BPMN 2.0图的web工具包。
二.功能特点
- 轻量级:只需引入一个js文件,无需安装任何额外的依赖。
- 易用:简洁的用户界面,支持拖放、点击、键盘操作等方式,编程地控制图的生成和变化。
- 可扩展:模块化的架构,可根据需求添加或移除功能模块。
- 兼容:遵循BPMN 2.0的标准规范,可与其他遵循该规范的工具和平台无缝地交互。
- 开源:由Camunda公司开发和维护,完全开源,可在GitHub上查看源码和反馈。
三.使用步骤
1、安装:通过npm或直接下载js文件。
// 导入bpmn-js
import BpmnModeler from 'bpmn-js/lib/Modeler';
<!-- 引入bpmn-js -->
<script src="bpmn-js/dist/bpmn-modeler.production.min.js"></script>
2、创建:使用BpmnModeler或BpmnViewer创建模型器或查看器。
// 创建一个BPMN 2.0图的模型器
var modeler = new BpmnModeler({container: '#canvas'});
// 创建一个BPMN 2.0图的查看器
var viewer = new BpmnViewer({container: '#canvas'});
3、加载:通过importXML或importJSON加载XML或JSON格式的BPMN 2.0图。
// 加载一个XML格式的BPMN 2.0图
modeler.importXML(xml, function(err) { if (err) {
console.error('failed to load diagram', err);
} else {
console.log('diagram loaded');
}
});
// 加载一个JSON格式的BPMN 2.0图
modeler.importJSON(json, function(err) { if (err) {
console.error('failed to load diagram', err);
} else {
console.log('diagram loaded');
}
});
// 创建一个空白的BPMN 2.0图
modeler.createDiagram(function(err) { if (err) {
console.error('failed to create diagram', err);
} else {
console.log('diagram created');
}
});
4、编辑:通过用户界面或API编程地编辑BPMN 2.0图。
// 编程地编辑BPMN 2.0图
var elementRegistry = modeler.get('elementRegistry');var modeling = modeler.get('modeling');// 获取一个任务元素var task = elementRegistry.get('Task_1');// 改变它的颜色modeling.setColor(task, {
fill: 'red',
stroke: 'black'});
// 改变它的大小
modeling.resizeShape(task, {
x: task.x,
y: task.y,
width: 200,
height: 100});
// 改变它的文本
modeling.updateLabel(task, 'New Task');
5、保存:通过saveXML、saveJSON或saveSVG保存XML、JSON或SVG格式的BPMN 2.0图。
// 保存一个XML格式的BPMN 2.0图
modeler.saveXML({ format: true }, function(err, xml) { if (err) {
console.error('failed to save diagram', err);
} else {
console.log('diagram saved');
console.log(xml);
}
});
// 保存一个JSON格式的BPMN 2.0图
modeler.saveJSON({ format: true }, function(err, json) { if (err) {
console.error('failed to save diagram', err);
} else {
console.log('diagram saved');
console.log(json);
}
});
// 保存一个SVG格式的BPMN 2.0图
modeler.saveSVG({ format: true }, function(err, svg) { if (err) {
console.error('failed to save diagram', err);
} else {
console.log('diagram saved');
console.log(svg);
}
});
四.项目地址
Github:https://github.com/bpmn-io/bpmn-js
五.总结
怎么样,bpmn-js是不是一款强大灵活的流程图创建工具,帮你快速地创建、嵌入和扩展BPMN 2.0图。非常适合用于业务流程管理。快来试试吧
创作不易,欢迎大家关注、点赞、收藏、转发!我会继续分享高质量的干货和前沿的技术,给大家提供更多有价值的内容!
- 上一篇: 企业网站建设流程图 让网站建设更轻松
- 下一篇: MCP/A2A之后,Agent补齐最后一块协议拼图
猜你喜欢
- 2025-06-12 MCP/A2A之后,Agent补齐最后一块协议拼图
- 2025-06-12 企业网站建设流程图 让网站建设更轻松
- 2025-06-12 Joker 低代码:AI 驱动的全栈开发神器,开启高效开发新范式
- 2025-06-12 ruoyi框架学习笔记一(流程图)(流程框架模板)
- 2025-06-12 还有人手动画图?一键生成 Draw.io 流程图,3分钟交作业爽炸!
- 2025-06-12 如何画好功能流程图?6个优质案例帮你5分钟快速入门!
- 2025-06-12 强大的可视化流程图编辑神器 — LogicFlow
- 2025-06-12 软件设计中:架构图、用例图、流程图、时序图与类图
- 2025-06-12 组态王和WinCC都可以用的3d工艺流程图
- 2025-06-12 流程图之美:手把手教你设计一个流程图
你 发表评论:
欢迎- 最近发表
-
- Three.js vs Unity:工业可视化为何选择Web方案?
- 一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI
- 时间线可视化实战:三款AI工具实测,手把手教你制作人生轨迹图
- 【推荐】一款可视化在线 Web 定时任务管理平台,支持秒级任务设置
- 重磅更新!FastDatasets 推出可视化 Web 界面
- 模具设计之UG钣金实例教程(3)_ug钣金基础教程
- 前端基于 RBAC 模型的权限管理实现
- 别再把JWT存在localStorage里了!2025年前端鉴权新思路
- 模具设计之曲面造型中不圆润的曲面如何处理技巧
- 9个专业级别的CSS技巧区分了解和精通的鸿沟
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)