# @dweber019/backstage-plugin-relations-backend 中文文档

规范地址：https://npmcn.com/package/%40dweber019/backstage-plugin-relations-backend/

版本：0\.1\.2
npm 元数据更新时间：2025-12-19T07:45:28.951Z
中文译文更新时间：2026-11-13T01:17:53.929Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dweber019/backstage-plugin-relations-backend
原文对照：https://npmcn.com/package/%40dweber019/backstage-plugin-relations-backend/?lang=original
项目主页：https://github.com/dweber019/backstage-plugins/tree/main/plugins/relations-backend
源码仓库：https://github.com/dweber019/backstage-plugins

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

- 包体积（解压后）：31.4 kB，14 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：12 个
- 首次发布：2024-04-06T09:56:37.867Z
- 最新版本发布：2025-12-19T07:45:28.734Z
- 近 30 天下载量：8183（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 1 个）

## 中文简介

此关系处理器插件释放出额外的自定义关系,这些关系在 [目录图](https://github.com/backstage/backstage/blob/master/plugins/catalog-graph/README.md) 离开盒子.

## 安装

```sh
npm install @dweber019/backstage-plugin-relations-backend
```

也可以使用：`pnpm add @dweber019/backstage-plugin-relations-backend`、`yarn add @dweber019/backstage-plugin-relations-backend`、`bun add @dweber019/backstage-plugin-relations-backend`

## README

# 关系处理器

此关系处理器插件释放出额外的自定义关系,这些关系在 [目录图](https://github.com/backstage/backstage/blob/master/plugins/catalog-graph/README.md) 离开盒子.

此外,你可以安装 [关系前端插件](https://npmcn.com/package/%40dweber019/relations/README.md) 以更好的前端体验 此处理器.

![](https://npmcn.com/package/%40dweber019/backstage-plugin-relations-backend/docs/graph.png)

## 安装

### 设置插件

首先,我们需要添加 `@dweber019/backstage-plugin-relations-backend` 软件包 :

```sh
# From your Backstage root directory
yarn --cwd packages/backend add @dweber019/backstage-plugin-relations-backend
```

然后我们打开名为 `packages/backend/src/plugins/catalog.ts`,并扩展为:

```ts
import { RelationsEntitiesProcessor } from '@dweber019/backstage-plugin-relations-backend';

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  const builder = await CatalogBuilder.create(env);

  builder.addProcessor(RelationEntitiesProcessor.fromConfig(env));

  const { processingEngine, router } = await builder.build();
  // ..
}
```

## 配置

见 `config.d.ts` 用于配置文档的文件.

这里有一个简单的配置, 这将添加一个命名的属性 `supporter`,允许关系 `User` 财务报告和审定财务报表 `Group` 编号 `Resource`。 。 。 . 此外,我们可以使用属性 `applicationOwner` 打开 `Component` 允许关系 `User`。 。 。 .

```yaml
relationsProcessor:
  relations:
    - sourceKind: component
      targetKinds:
        - user
      attribute: applicationOwner
      pairs:
        - incoming: applicationOwnerOf
          outgoing: applicationOwnerBy
    - sourceKind: resource
      targetKinds:
        - user
        - group
      attribute: supporter
      multi: true
      pairs:
        - incoming: supporterOf
          outgoing: supportedBy
```

## 使用量

上述定义将允许界定下列实体:

```yaml
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
  name: resource-1
spec:
  type: db
  owner: group:default/group-1
  supporter:
    - john-doe
    - group:default/group-1
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: component-1
spec:
  type: service
  lifecycle: production
  owner: group:default/group-1
  applicationOwner: user:default/kevin-po
```

### 目录图

建议使用 [关系前端插件](https://npmcn.com/package/%40dweber019/relations/README.md) 在过滤器中添加新关系,设置好的默认值.

### 利用众所周知的关系

你可以用这个 [众所周知的目录实体之间的关系](https://backstage.io/docs/features/software-catalog/well-known-relations#ownedby-and-ownerof) 与此插件的关系。 如果某一组件为集团所有并拥有应用程序所有者,而该应用程序所有者也应拥有所有权,则这样做是有用的.

```yaml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: component-1
spec:
  type: service
  lifecycle: production
  owner: group:default/group-1
  applicationOwner: user:default/kevin-po
```

要允许所有者关系使用以下配置.

```yaml
relationsProcessor:
  relations:
    - sourceKind: component
      targetKinds:
        - user
      attribute: applicationOwner
      pairs:
        - incoming: applicationOwnerOf
          outgoing: applicationOwnerBy
        - incoming: ownerOf
          outgoing: ownerBy
```

![](https://npmcn.com/package/%40dweber019/backstage-plugin-relations-backend/docs/ownership-card.png)

### 新建后端系统

后端插件有支持 [新的后端系统](https://backstage.io/docs/backend-system/),这里你如何设置:

在你身边 `packages/backend/src/index.ts` 作如下修改:

```ts
const backend = createBackend();

backend.add(import('@dweber019/backstage-plugin-relations-backend'));

// ... other feature additions

backend.start();
```

> 这没有经过测试,这里供参考

## 图标

谢谢你的图标 [Becris 创建的机器学习图标 - Flaticon](https://www.flaticon.com/free-icons/machine-learning)

## 常见问题

### @dweber019/backstage-plugin-relations-backend 是什么？

此关系处理器插件释放出额外的自定义关系,这些关系在 目录图 离开盒子\.

### 如何安装 @dweber019/backstage-plugin-relations-backend？

在项目目录运行 npm install @dweber019/backstage-plugin-relations-backend，或使用 pnpm add / yarn add / bun add。

### @dweber019/backstage-plugin-relations-backend 支持 TypeScript 吗？

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

### @dweber019/backstage-plugin-relations-backend 支持 ESM 还是 CommonJS？

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

### @dweber019/backstage-plugin-relations-backend 可以商用吗？

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

### @dweber019/backstage-plugin-relations-backend 的下载量有多少？

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

### @dweber019/backstage-plugin-relations-backend 还在维护吗？

最新版本 0\.1\.2 发布于 2025/12/19（10 个月前）；至今共发布 18 个版本，其中过去 12 个月发布了 1 个；首次发布于 2024/04/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

