Skip to main content

后端实例

后端实例

这是创建后端的主要入口。 它本身没有任何功能,只是负责将各种功能连接在一起。 您可以自行决定要部署多少个不同的后端。 您可以将所有功能集中在一个后端中,也可以将其分成多个较小的部署。

下面是一个仅安装目录插件并启动的后端简单示例。

import { createBackend } from '@backstage/backend-defaults';
import scaffolderPlugin from '@backstage/plugin-scaffolder-backend';

// Create your backend instance
const backend = createBackend();

// Install desired features
backend.add(import('@backstage/plugin-catalog-backend/alpha'));

// Features can also be installed using an explicit reference
backend.add(scaffolderPlugin());

// Start up the backend
backend.start();

我们称之为createBackend来创建一个新的后端实例,它负责将我们为应用程序提供的所有功能连接在一起。 它还提供了所有核心服务不过,在创建后端时并没有完成真正的工作,所有工作都被推迟到了backend.start()打电话。

要为后端实例添加任何功能,您可以使用.add(...)功能可以是插件、模块或服务工厂。 有关构建插件和模块的更多信息,请参阅构建插件和模块文档中安装服务工厂,以及如何在构建后端文档.

当您添加了所有需要的功能后,我们称之为.start()这将导致后端启动并初始化所有功能。 启动时,后端将验证所有功能,以确保没有冲突。 例如,确保没有循环依赖关系。

引擎盖下面createBackend电话createSpecializedBackend@backstage/backend-app-api负责创建后端实例,而不提供任何服务或功能。 您可以将createBackend更多采用 "含电池 "的方法,而createSpecializedBackend更低级。

如前所述,您还可以在项目中创建多个这样的后端,这样您就可以拆分后端,部署可以独立扩展的不同后端。 例如,您可以选择部署一个只启用目录插件的后端,以及一个只启用脚手架插件的后端。