# @bielu/scalar-grpc 中文文档

规范地址：https://npmcn.com/package/%40bielu/scalar-grpc/

版本：1\.0\.1
npm 元数据更新时间：2026-11-04T15:32:52.343Z
中文译文更新时间：2026-11-08T01:44:06.988Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bielu/scalar-grpc
原文对照：https://npmcn.com/package/%40bielu/scalar-grpc/?lang=original
项目主页：https://github.com/bielu/Bielu.AspNetCore.ApiDescriptions#readme
源码仓库：https://github.com/bielu/Bielu.AspNetCore.ApiDescriptions

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

- 包体积（解压后）：895 kB，23 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2026-07-19T20:11:35.574Z
- 最新版本发布：2026-11-04T15:32:52.022Z
- 近 30 天下载量：6785（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：84（近 12 个月 84 个）

## 中文简介

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

## 安装

```sh
npm install @bielu/scalar-grpc
```

也可以使用：`pnpm add @bielu/scalar-grpc`、`yarn add @bielu/scalar-grpc`、`bun add @bielu/scalar-grpc`

## README

# @bielu/scalar-grpc (英语)

互动 **gRPC 控制台** 该插件 [斯卡尔](https://scalar.com/) 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`](https://github.com/bielu/Bielu.AspNetCore.ApiDescriptions) .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")`) (中文(简体) ).

## 独立使用

```html
<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`。 。 。 .

## 程序用途

```ts
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头). 额外的按调用元数据 输入控制台的元数据编辑器.

## 大楼

```bash
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.js` | IIFE; 通过钩子安装 `window.Scalar.createApiReference` | `MapScalarGrpcAssets()`在斯卡拉自己的包旁边 |
| `dist/plugin.mjs` | ES 模块库条目; 已命名导出( E)`createGrpcPlugin`)),还自备自备 | 消费者 `import` 从此软件包 |
| `dist/scalar-plugin.mjs` | ES模块; **默认导出为插件**,没有登记本身 | 斯卡尔的 `pluginUrls` 选项——Aspire包如何将控制台添加到库存容器中 |
| `dist/standalone.js` | Scalar 预建的浏览器与附加插件捆绑 | 其它没有加载斯卡拉的页面; _替换_ Scalar自己的捆绑 |

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

## 常见问题

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

