后端实例
后端实例
这是创建后端的主要入口。 它本身没有任何功能,只是负责将各种功能连接在一起。 您可以自行决定要部署多少个不同的后端。 您可以将所有功能集中在一个后端中,也可以将其分成多个较小的部署。
下面是一个仅安装目录插件并启动的后端简单示例。
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
更低级。
如前所述,您还可以在项目中创建多个这样的后端,这样您就可以拆分后端,部署可以独立扩展的不同后端。 例如,您可以选择部署一个只启用目录插件的后端,以及一个只启用脚手架插件的后端。