# @bull-board/nestjs 中文文档

规范地址：https://npmcn.com/package/%40bull-board/nestjs/

版本：9\.12\.0
npm 元数据更新时间：2026-11-08T14:27:28.575Z
中文译文更新时间：2026-11-08T19:30:34.733Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bull-board/nestjs
原文对照：https://npmcn.com/package/%40bull-board/nestjs/?lang=original
项目主页：https://github.com/felixmosh/bull-board#readme
源码仓库：https://github.com/felixmosh/bull-board

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

- 包体积（解压后）：41.7 kB，34 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：rxjs ^7\.8\.1，@nestjs/core ^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0，@nestjs/common ^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0，@bull-board/api ^9\.12\.0，reflect-metadata ^0\.1\.13 \|\| ^0\.2\.0，@nestjs/bull-shared ^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0
- 首次发布：2023-06-13T12:06:10.457Z
- 最新版本发布：2026-11-08T14:27:28.248Z
- 近 30 天下载量：2239793（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：187（近 12 个月 65 个）

## 中文简介

牛-宝马仪表板的雀巢JS模块.

## 安装

```sh
npm install @bull-board/nestjs
```

也可以使用：`pnpm add @bull-board/nestjs`、`yarn add @bull-board/nestjs`、`bun add @bull-board/nestjs`

## README

# ![@bull-board](https://raw.githubusercontent.com/felixmosh/bull-board/master/packages/ui/src/static/images/logo.svg) @bull-board/nestjs (英语)

[网点JS](https://nestjs.com/) 页:1 `bull-board`。 。 。 .

 [![npm version](https://img.shields.io/npm/v/@bull-board/nestjs)](https://www.npmjs.com/package/@bull-board/nestjs)[![npm downloads](https://img.shields.io/npm/dw/@bull-board/nestjs) ](https://www.npmjs.com/package/@bull-board/nestjs)[![licence](https://img.shields.io/github/license/felixmosh/bull-board)](https://github.com/felixmosh/bull-board/blob/master/LICENSE)

![Overview](https://raw.githubusercontent.com/felixmosh/bull-board/master/screenshots/overview.png) ![UI](https://raw.githubusercontent.com/felixmosh/bull-board/master/screenshots/dashboard.png)

## 安装

安装@bull-board/ api 和此模块 .

```bash
$ npm install --save @bull-board/nestjs @bull-board/api
```

根据您在 NestJS 中使用的内容安装快递或快递适配器( 默认为快递)

```bash
$ npm install --save @bull-board/express
//or 
$ npm install --save @bull-board/fastify
```

## 注册根模块

一旦安装完成,我们可以导入 `BullBoardModule` 输入您的根模块, 例如 . `AppModule`。 。 。 .

```typescript
import { Module } from '@nestjs/common';
import { BullBoardModule } from "@bull-board/nestjs";
import { ExpressAdapter } from "@bull-board/express";

@Module({
  imports: [
    BullModule.forRoot({
      // your bull module config here.
    }),

    BullBoardModule.forRoot({
      route: '/queues',
      adapter: ExpressAdapter // Or FastifyAdapter from `@bull-board/fastify`
    }),
  ],
})
export class AppModule {
}
```

这个 `forRoot()` 方法对公牛板实例进行注册,并允许您向实例和模块传递多个选项. 现有备选方案如下.

-   `route` 牛板实例适配器的基线.
-   `adapter` 拟使用的路由适配器,由公牛板提供快取适配器或快取适配器.
-   `boardOptions` 由牛板包提供的选项,例如 `uiBasePath` 财务报告和审定财务报表 `uiConfig`
-   `middleware` 用于快取适配器的可选中间软件(例如基本认证)

### 快取验证

为快车安装 `express-basic-auth`数字 :

```bash
$ npm install --save express-basic-auth
```

修改 `BullBoardModule.forRoot()` 方法 :

```typescript
import basicAuth from "express-basic-auth";

BullBoardModule.forRoot({
  route: "/queues",
  adapter: ExpressAdapter,
  middleware: basicAuth({
    challenge: true,
    users: { admin: "passwordhere" },
  }),
}),
```

### 快速验证

为快取, 您可以使用 `fastify-basic-auth`数字 :

```bash
$ npm install --save fastify-basic-auth
```

然后使用中间软件应用 :

```typescript
import fastifyBasicAuth from "fastify-basic-auth";

BullBoardModule.forRoot({
  route: "/queues",
  adapter: FastifyAdapter,
  middleware: (req, res, next) => {
    fastifyBasicAuth({
      validate: async (username, password, req, reply) => {
        if (username === "admin" && password === "passwordhere") {
          return;
        }
        throw new Error("Unauthorized");
      },
    })(req, res, next);
  },
}),
```

## 注册您的队列

要注册新队列, 您需要注册 `BullBoardModule.forFeature` 在与您的队列注册位置相同的模块中.

```typescript
import { Module } from '@nestjs/common';
import { BullBoardModule } from "@bull-board/nestjs";
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter";
import { BullModule } from "@nestjs/bullmq";

@Module({
  imports: [
    BullModule.registerQueue(
      {
        name: 'my_awesome_queue'
      }
    ),
    
    BullBoardModule.forFeature({
      name: 'my_awesome_queue',
      adapter: BullMQAdapter, //or use BullAdapter if you're using bull instead of bullMQ
    }),
  ],
})
export class FeatureModule {}
```

这个 `forFeature` 方法将给定的队列登记到公牛板实例. 现有备选方案如下.

-   `name` 从 Nest DI 容器中解析的队列名称.
-   `queue` 要直接注册的队列实例, 而不是通过 `name`。 。 。 .
-   `adapter` 无论是 `BullAdapter` 或者说 `BullMQAdapter` 取决于您使用的软件包.
-   `options` 队列适配器选项, 如在牛板包中找到的, 例如 `readOnlyMode`, (中文(简体) ), `description` 包括:.

提供其中之一 `name` 或者说 `queue`。 。 。 .

### 直接注册队列实例

`@nestjs/bullmq` 从队列生成 DI 令牌 `name` 仅仅,忽略 `prefix`。两个队列共享一个名称但使用不同的前缀,因此会崩溃到一个 单一 DI 代号,和 a `name`\-基于搜索不能把他们分开 通过队列实例 直接通过 `queue` 将它们登记为单独的董事会条目:

```typescript
@Module({
  imports: [
    BullBoardModule.forFeature(
      { queue: emailsTenantA, adapter: BullMQAdapter, options: { prefix: 'tenant-a:' } },
      { queue: emailsTenantB, adapter: BullMQAdapter, options: { prefix: 'tenant-b:' } },
    ),
  ],
})
export class FeatureModule {}
```

## 在您的控制器和/或服务中使用公牛板实例 .

创建的公牛板实例可通过 `@InjectBullBoard()` 装饰师. 例如,在控制器中:

```typescript
import { Controller, Get } from "@nestjs/common";
import { BullBoardInstance, InjectBullBoard } from "@bull-board/nestjs";

@Controller('my-feature')
export class FeatureController {

  constructor(
    @InjectBullBoard() private readonly boardInstance: BullBoardInstance
  ) {
  }
  
  //controller methods
}
```

# 用法实例

1.  [简单的 NestJS 设置](https://github.com/felixmosh/bull-board/tree/master/examples/with-nestjs)

要了解更多情况 访问主 [读取](https://github.com/felixmosh/bull-board#readme)

## 常见问题

### @bull-board/nestjs 是什么？

牛-宝马仪表板的雀巢JS模块\.

### 如何安装 @bull-board/nestjs？

在项目目录运行 npm install @bull-board/nestjs，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：rxjs（^7\.8\.1）、@nestjs/core（^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0）、@nestjs/common（^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0）、@bull-board/api（^9\.12\.0）、reflect-metadata（^0\.1\.13 \|\| ^0\.2\.0）、@nestjs/bull-shared（^10\.0\.0 \|\| ^11\.0\.0 \|\| ^12\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bull-board/nestjs 支持 TypeScript 吗？

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

### @bull-board/nestjs 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bull-board/nestjs 可以商用吗？

@bull-board/nestjs 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bull-board/nestjs 的下载量有多少？

根据 npm 官方下载统计，@bull-board/nestjs 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,239,793 次，日均约 74,660 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bull-board/nestjs 还在维护吗？

最新版本 9\.12\.0 发布于 2026/11/08（今天）；至今共发布 187 个版本，其中过去 12 个月发布了 65 个；首次发布于 2023/06/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

