@bielu/scalar-signalr

中文文档
1.0.1发布于 2026/11/04MITTypeScriptES Module构建来源已验证近 30 天下载 8155

Scalar API 参考的交互式信号控制台插件。 读取 SignalR AsyncAPI 绑定并让您连接到枢机,引用方法和订阅服务器事件.

中文使用文档
文档目录6 节
  1. 独立使用
  2. 程序用途
  3. 认证集成
  4. 如何将证书映射到 SignalR 客户端
  5. 构建
  6. 许可证

@bielu/scalar-signalr (英语)

互动 信号控制台 该插件 斯卡尔 API 参考.

它读取信号R绑定(signalr 或者说 x-signalr)从您的 AsyncAPI 文档中生成一个面板 连接到一个中枢,引用客户端到服务器的方法,并实时观看服务器到客户端的事件. 没错 作为默认的倒置替换而建 scalar.js 捆绑: 装入重新曝光 window.Scalar.createApiReference 已注册的信号R插件.

这套货包来自、并被其消耗 Bielu.AspNetCore.AsyncApi.Scalar.SignalR .NET 软件包(它嵌入了已建的捆绑),但它也单独被发布到 npm , 这样它就可以 从CDN装入或用手捆绑.

独立使用

<div id="app"></div>
<!-- Replaces the default scalar.js bundle -->
<script src="https://cdn.jsdelivr.net/npm/@bielu/scalar-signalr/dist/standalone.js"></script>
<script>
  window.__BIELU_SCALAR_SIGNALR__ = {
    documents: [{ name: 'signalr', url: '/asyncapi/signalr.json' }],
  }
  Scalar.createApiReference('#app', {
    sources: [{ url: '/asyncapi/signalr.json' }],
  })
</script>

信号R文件可通过Global window.__BIELU_SCALAR_SIGNALR__ 或将 Scalar 配置内置为 config.signalr。 。 。 .

程序用途

import { createApiReference, createSignalRPlugin } from '@bielu/scalar-signalr'

// Either use the wrapper (auto-registers the plugin) …
createApiReference('#app', { sources: [{ url: '/asyncapi/signalr.json' }] })

// … or register the plugin yourself on the stock Scalar API Reference:
// plugins: [createSignalRPlugin([{ name: 'signalr', url: '/asyncapi/signalr.json' }])]

认证集成

斯卡拉拥有顶级认证UI. 当用户在那里选择一个安全方案时 信号控制台自动拾取证书 连接 时间——没有单独的登录步骤 这是需要的.

要求Scalar → 2.16.12 (插件认证状态 API, 上游为 斯卡尔/斯卡尔#9639) (中文(简体) ). 在旧的斯卡拉版本上 在 API 之前,控制台连接没有证书(graceful no-op).

如何将证书映射到 SignalR 客户端

计划地点信号R映射
apiKeyquery附于中枢 URL 的密钥 ?<name>=<value>
apiKeyheader已登录的警告 ——浏览器 WS/SSE 无法设置信头;返回查询
http 无记名者—— 说accessTokenFactory: () => token
oauth2 编号 : openIdConnect—— 说accessTokenFactory: () => token
http 基础—— 说已登录的警告 ——不能通过WS/SSE发送;在没有认证的情况下连接收益

方案定义从 components.securitySchemes asyncAPI 文档中。 这个 控制台将 Scalar 文档名称匹配到所选方案; 如果找不到精确的匹配 回到Scalar出口的认证状态中唯一的文档.

构建

npm install
npm run build      # -> dist/plugin.js (IIFE) + dist/scalar-plugin.mjs (ESM) + dist/standalone.js + dist/types
npm run typecheck

三项建筑产出,有三项不同的合同——不能互换:

产出合同用于
dist/plugin.jsIIFE; 通过钩子安装 window.Scalar.createApiReferenceMapScalarSignalRAssets()在斯卡拉自己的包旁边
dist/scalar-plugin.mjsES模块; 默认导出为插件,没有登记本身斯卡尔的 pluginUrls 选项——Aspire包如何将控制台添加到库存容器中
dist/standalone.jsScalar 预建的浏览器与附加插件捆绑其它没有加载斯卡拉的页面; 替换 Scalar自己的捆绑

许可证

麻省理工学院

版本与发布记录

@bielu/scalar-signalr 共发布 95 个版本,首次发布于 2026/07/16;过去 12 个月发布了 95 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.1latest2026/11/043 天前
1.0.1-beta.20261104151236beta2026/11/043 天前
1.0.1-beta.202611041331502026/11/043 天前
1.0.1-beta.202611030955042026/11/035 天前
1.0.1-beta.202611030953582026/11/035 天前
1.0.1-beta.202610250832222026/10/2514 天前

关于 @bielu/scalar-signalr 的常见问题

@bielu/scalar-signalr 是什么?

Scalar API 参考的交互式信号控制台插件。 读取 SignalR AsyncAPI 绑定并让您连接到枢机,引用方法和订阅服务器事件.

如何安装 @bielu/scalar-signalr?

在项目目录运行 npm install @bielu/scalar-signalr,或使用 pnpm add / yarn add / bun add。

@bielu/scalar-signalr 支持 TypeScript 吗?

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

@bielu/scalar-signalr 支持 ESM 还是 CommonJS?

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

@bielu/scalar-signalr 可以商用吗?

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

@bielu/scalar-signalr 的下载量有多少?

根据 npm 官方下载统计,@bielu/scalar-signalr 在 2026/10/08 – 2026/11/06 这 30 天内被下载 8,155 次,日均约 272 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bielu/scalar-signalr 还在维护吗?

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