@bielu/scalar-grpc

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

Scalar API 引用的交互式 gRPC 控制台插件. 读取 gRPC AsyncAPI 绑定并让您在 gRPC-Web 上引用 unary- server- slowing 方法 .

中文使用文档
文档目录5 节
  1. 服务器先决条件
  2. 独立使用
  3. 程序用途
  4. 认证
  5. 大楼

@bielu/scalar-grpc (英语)

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

它读到 grpc (或 x-grpc从您的 AsyncAPI 文档中绑定, 并让一个面板可以选择 a 服务,编辑从有效载荷计划预填的JSON请求,并引用unary和 服务器流方法实时——结束 gRPC-网络 (浏览器不能说本地gRPC). 客户 双向分流方法作为文件提供,其中“不得从 浏览器"徽章.

因为AsyncAPI 有效载荷计划是 JSON Schema(无原生生地编号),所以控制台编码 从 .NET 软件包的相伴中取出真实的 protobuf 描述符的有线信息 {assetsPath}/descriptors 终点( 序列化 ) FileDescriptorSet),使用 @bufbuild/protobuf + 键 @connectrpc/connect-web ——完全动态,浏览器中没有代码.

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

服务器先决条件

目标 ASP.NET 核心应用必须:

  1. 启用 gRPC- Web : app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true }) (包装) Grpc.AspNetCore.Web),以及
  2. 服务描述式终点 : app.MapScalarGrpcAssets() (包装) Bielu.AspNetCore.AsyncApi.Scalar.Grpc) (中文(简体) ).

当页面和 gRPC 服务器在不同的源头上时, CORS 必须允许 gRPC- Web 响应 标题 : grpc-status 财务报告和审定财务报表 grpc-message 需要暴露 (单位:千美元)policy.WithExposedHeaders("Grpc-Status", "Grpc-Message", "Grpc-Encoding", "Grpc-Accept-Encoding")) (中文(简体) ).

独立使用

<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/@bielu/scalar-grpc"></script>
<script>
  window.__BIELU_SCALAR_GRPC__ = {
    documents: [{ name: 'grpc', url: '/asyncapi/grpc.json' }],
  }
  Scalar.createApiReference('#app', {
    sources: [{ url: '/asyncapi/grpc.json' }],
  })
</script>

GRPC文件可通过全球 window.__BIELU_SCALAR_GRPC__ 或内置 在斯卡拉尔配置为 config.grpc。 。 。 .

程序用途

import { createGrpcPlugin } from '@bielu/scalar-grpc'

Scalar.createApiReference('#app', {
  sources: [{ url: '/asyncapi/grpc.json' }],
  plugins: [createGrpcPlugin()],
})

认证

控制台取取Scalar认证面板(Scalar 2.16.12)中输入的证书 并把它们映射到 gRPC-Web 调用元数据:头部 API 密钥, Authorization: Bearer … 和 HTTP 软件 基本所有直接映射(gRPC-Web元数据为plain HTTP头). 额外的按调用元数据 输入控制台的元数据编辑器.

大楼

npm install
npm run build   # → dist/plugin.js + dist/plugin.mjs + dist/scalar-plugin.mjs + dist/standalone.js + dist/types

建筑内含私人 @bielu/scalar-core 工作空间软件包(文档发现, 认证) state, schema example, Scalar boiltrap)——参见该套件的README用于共享合同.

4项建设产出,有4个不同的合同——不能互换:

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

dist/scalar-plugin.mjs 也读它自己的 import.meta.url 找到原生的描述符 结束点,因为 document.currentScript 总是 null 在一个ES模块.

版本与发布记录

@bielu/scalar-grpc 共发布 84 个版本,首次发布于 2026/07/20;过去 12 个月发布了 84 个版本。最新版本附带 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-grpc 的常见问题

@bielu/scalar-grpc 是什么?

Scalar API 引用的交互式 gRPC 控制台插件. 读取 gRPC AsyncAPI 绑定并让您在 gRPC-Web 上引用 unary- server- slowing 方法 .

如何安装 @bielu/scalar-grpc?

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

@bielu/scalar-grpc 支持 TypeScript 吗?

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

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

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

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

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

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

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

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

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