# bpmn-web 中文文档

规范地址：https://npmcn.com/package/bpmn-web/

版本：3\.5\.1
npm 元数据更新时间：2026-11-03T02:54:16.226Z
中文译文更新时间：2026-11-03T06:58:52.117Z
软件包许可：未声明

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/bpmn-web
原文对照：https://npmcn.com/package/bpmn-web/?lang=original
项目主页：https://github.com/bpmnServer/bpmn-server#readme
源码仓库：https://github.com/bpmnServer/bpmn-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：14.6 MB，230 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：31 个
- 首次发布：2026-10-31T16:49:59.684Z
- 最新版本发布：2026-11-03T02:54:16.075Z
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

bpmn-web演示应用

## 安装

```sh
npm install bpmn-web
```

也可以使用：`pnpm add bpmn-web`、`yarn add bpmn-web`、`bun add bpmn-web`

## README

# 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连接字符串如下：

```bash
# 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密钥接口。

安装依赖关系

```bash
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` 退出):

```bash
npm run cli
```

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

### 模型编辑器

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

```bash
npm run watch:modeler
```

[modeler / PROPERTIES.md](https://npmcn.com/package/bpmn-web/modeler/PROPERTIES.md) 是面板的属性目录：按元素，每个是什么 写入模型文件，以及流程运行时bpmn-server对模型文件所做的操作。

#### 测试模型

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

#### 元素的模板

配置任务（使用输入调用给定服务的服务任务、给定组的用户任务） 元素模板是否在 [camunda7模板格式](https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/c7-element-templates/)， 一个或多个 `*.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适配器

```ts
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 是什么？

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 和提交记录判断。

