@cdx-扩展/di-sdk
用于构建平台扩展的核心SDK接口. 此软件包提供统一的 PlatformSDK 财务报告和审定财务报表 不依赖于 @cdx-extensions/di-sdk-web 或者说 @cdx-extensions/di-sdk-mobile。主机应用程序只安装它所需要的平台,并且 登记册 与SDK(依赖性注射). 这避免了像Metro这样的捆绑者在应用程序只使用一个时解决两个平台包.
这个图书馆是独立的. 运行时由 JFrog 解决依赖性 pnpm install 在此文件夹中。 从此目录构建并发布 .
安装
安装 SDK 核心 只有您需要的平台 (网络或移动).
网络 :
pnpm add @cdx-extensions/di-sdk @cdx-extensions/di-sdk-web
移动( 如反应原生) :
pnpm add @cdx-extensions/di-sdk @cdx-extensions/di-sdk-mobile
快速启动
这个 主机应用程序 (一个有 di-sdk-web 或者说 di-sdk-mobile(电话) PlatformSDK.init({ platform }) 曾经在靴子上. 部件和扩展 只有电话 PlatformSDK.getInstance() 没有争论. getInstance() 如果主机没有调用, 则丢弃 init()。 。 。 .
主机应用程序( bootstrap)
只有主机应用程序才能调用 init()。在任何部件运行前,在应用程序条目(例如根组件或主组件)上做一次.
网页主机 :
import { PlatformSDK } from '@cdx-extensions/di-sdk';
import { WebPlatform } from '@cdx-extensions/di-sdk-web';
// Once at bootstrap
PlatformSDK.init({ platform: WebPlatform.getInstance() });
移动主机( 如 React Industrial) :
import { PlatformSDK } from '@cdx-extensions/di-sdk';
import { MobilePlatform } from '@cdx-extensions/di-sdk-mobile';
// Once at bootstrap
PlatformSDK.init({ platform: MobilePlatform.getInstance() });
部件/ 扩展
部件仅依赖 @cdx-extensions/di-sdk。它们必须运行在一个已经呼叫 PlatformSDK.init()。 。 。 .
import { PlatformSDK } from '@cdx-extensions/di-sdk';
const sdk = PlatformSDK.getInstance();
const userContext = sdk.useUserContext();
const httpClient = sdk.getHttpClient();
因为SDK核心从不进口 di-sdk-web 或者说 di-sdk-mobile,一个只移动的应用程序不需要安装网页软件包,Metro也不会试图解决.
关于方法、流程和图表的全部说明,见 PLATFORM 注册.md。 。 。 .
发展
从寄存器根 :
cd libs/common/extensibility-sdk
pnpm install
pnpm run build
出版(例如合并到 main:
pnpm run build
pnpm publish
正在开发的出版: 要发布此 lib 在开发过程中不影响主版本, 请从此目录中运行 : pnpm publish --tag development。 。 。 .
文档
许可证
公务员制度委员会
CDX = 干燥开发者经验