bpmn-web

中文文档
3.5.1发布于 2026/11/03TypeScriptES Module

bpmn-web演示应用

中文使用文档
文档目录8 节
  1. 安装
  2. 要求
  3. 安装
  4. 使用
  5. 独立的
  6. 命令行
  7. 模型编辑器
  8. 在应用程序中嵌入web适配器

bpmn-web

HTTP集成和web UI bpmn-server.

可重用的 WebApp 主机独立于任何特定的工作流 应用程序。应用程序提供自己的工作流定义, 配置、持久化适配器和服务实现 WorkflowApplication通常通过 start(). 示例应用程序及其过程, 连接器和委托,以及bpmn-web的测试 testSampleApp/ 在存储库根目录下。

安装

要求

  • Node.js >= 10.x
  • NPM >= 6.x
  • MongoDB >= 4.x

安装

设置。Env与您的mongodb连接字符串如下:

# PORT # for express application
PORT=3000

#API_KEY is used for remote access
API_KEY=12345
API_SERVICE_USER_NAME=integration
API_SERVICE_USER_GROUPS=SYSTEM
# Optional scope for a tenant service account:
# API_SERVICE_TENANT_ID=tenant-a
# API_SERVICE_MODELS_OWNER=tenant-a

# Separate credential for definition/model administration
ADMIN_API_KEY=replace-with-a-different-secret

# MongoDB Settings
MONGO_DB_URL=mongodb://0.0.0.0:27017/bpmn
#
... more settings

/api2 为每个API-key请求使用此配置的服务标识。这个 user 对象在请求体中被忽略。设置组和可选租户 到集成所需的权限。遗留 /api 路线仍然是一个 特权api密钥接口。

安装依赖关系

git clone https://github.com/bpmnServer/bpmn-web.git

npm install

npm run setup

使用

独立的

npm start 以默认值运行bpmn-web: models in ./processes, WebAppDelegate,无元素 模板。示例应用程序从存储库根目录(npm start)或 testSampleApp/.

命令行

同一服务器和数据库的控制台:启动进程,列出和调用项目,发送消息和信号, 列出型号和用户,设置用户密码(? 列出命令, q 退出):

npm run cli

命令也可以通过管道输入,例如: printf 'lo\nq\n' | npm run cli 列出未完成的项目。

模型编辑器

模型编辑器是从源代码中构建的 modeler/: bpmn-js的属性面板,显示设置 bpmn-服务器运行(用户分配,谁可以启动、服务名称、事件上的脚本、表单、输入和输出); 以及问题列表:bpmn-server在编辑模型时检查(verifyModel),问题带你到 它的元素和域。 npm start 和 npm run build 把它融入 public/modeler/;在工作时,用以下方法重建更改:

npm run watch:modeler

modeler / PROPERTIES.md 是面板的属性目录:按元素,每个是什么 写入模型文件,以及流程运行时bpmn-server对模型文件所做的操作。

测试模型

编辑器的 测试 TAB保存模型的测试场景,并一步一步地运行它们。 开始 启动 处理场景的启动数据,并显示等待下一步的用户任务和事件,每个任务和事件都带有 它的数据和实例页的按钮(执行 用户任务; 力 一个事件);运行一个步骤显示了什么 等待下一个,直到没有等待。数据选择分支和哪个 首先运行的步骤是在一起等待的元素(基于事件的网关的事件、边界)之间进行选择 定时器,并行任务)。您运行的步骤被保存为场景,因此 运行 和 运行所有 重复一遍。 在不停止的情况下新建实例,并检查场景在最后期望什么(状态、数据值、传递的元素) 通过)。每个场景都将其运行(最近的20个)与其实例保存在一起,因此是最后一个 Run在打开时显示,任何较早的Run都可以再次打开。 模拟 在图表上运行: 元素开始时变为蓝色,结束时变为绿色(连接网关等待其最后一个分支),变为橙色 如果它还在等待;按他们出发的顺序编号; 暂停, 继续 和 步骤 当它播放的时候。 测试运行是id以开头的普通实例 test-.

元素的模板

配置任务(使用输入调用给定服务的服务任务、给定组的用户任务) 元素模板是否在 camunda7模板格式, 一个或多个 *.json 文件中的 elementTemplatesPath 样品已经寄来了 testSampleApp/connectors/). 编辑把它们放在下面 模板 在 属性面板。

只有当bpmn-server运行它设置的所有内容时,才会提供模板: property 属性的绑定 引擎读取(服务名称、用户分配、表单键、决策、调用流程、脚本)、输入和 输出参数和JavaScript执行监听器。用于设置其他任何内容的模板(Java类,字段 注入,连接器, camunda:property, camunda:in/out)被忽略,原因在服务器日志中 在 GET /model/templates. 提供了一个模板来命名应用程序没有提供的服务, 附带一个警告。

模型由用户在 DESIGNER 组和管理员(ADMIN, SYSTEM)。

集 MODELER=classic 要使用以前的编辑器(预构建的 modeller-withPropertyPanel.js)。

在应用程序中嵌入web适配器

import { WebApp, defineWorkflowApplication } from 'bpmn-web';
import { configuration } from './workflow/configuration.js';

const workflowApplication = defineWorkflowApplication({ configuration });
const webApp = new WebApp(workflowApplication);

webApp.start();

构建 WebApp 组成Express应用程序和工作流运行时。 调用 start() 是显式的,以便可以装入测试或更大的应用程序 webApp.app 不打开另一个监听器。

版本与发布记录

bpmn-web 共发布 6 个版本,首次发布于 2026/11/01;过去 12 个月发布了 6 个版本。

版本发布日期距今
3.5.1latest2026/11/03今天
3.5.02026/11/03今天
3.1.02026/11/012 天前
3.0.32026/11/012 天前
3.0.12026/11/012 天前
0.0.0-stage2026/11/012 天前

关于 bpmn-web 的常见问题

bpmn-web 是什么?

bpmn-web演示应用

如何安装 bpmn-web?

在项目目录运行 npm install bpmn-web,或使用 pnpm add / yarn add / bun add。

bpmn-web 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

bpmn-web 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

bpmn-web 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

bpmn-web 可以商用吗?

bpmn-web 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

bpmn-web 还在维护吗?

最新版本 3.5.1 发布于 2026/11/03(今天);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。