@bull-board/nestjs

中文文档
9.12.0发布于 2026/11/08MITTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 224万

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

中文使用文档
文档目录7 节
  1. 安装
  2. 注册根模块
  3. 快取验证
  4. 快速验证
  5. 注册您的队列
  6. 直接注册队列实例
  7. 在您的控制器和/或服务中使用公牛板实例 .

@bull-board @bull-board/nestjs (英语)

网点JS 页:1 bull-board。 。 。 .

npm version npm downloads licence

Overview UI

安装

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

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

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

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

注册根模块

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

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数字 :

$ npm install --save express-basic-auth

修改 BullBoardModule.forRoot() 方法 :

import basicAuth from "express-basic-auth";

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

快速验证

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

$ npm install --save fastify-basic-auth

然后使用中间软件应用 :

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 在与您的队列注册位置相同的模块中.

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 将它们登记为单独的董事会条目:

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

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

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

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 设置

要了解更多情况 访问主 读取

版本与发布记录

@bull-board/nestjs 共发布 187 个版本,首次发布于 2023/06/13;过去 12 个月发布了 65 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
9.12.0latest2026/11/08今天
9.11.02026/11/017 天前
9.10.52026/10/2217 天前
9.10.42026/10/051 个月前
9.10.22026/09/291 个月前
9.10.12026/09/121 个月前

关于 @bull-board/nestjs 的常见问题

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