应用 SDK
自己建块
目录
安装
npm install @appsemble/sdk
使用量
bootstrap
拖曳功能会记录一个函数, 每次区块的新实例都会被调用 创建。 如果块返回一个 DOM 节点, 它会附在块的阴影根上 .
功能可能是同步的,但不应该等待动作完成,因为动作是 延迟到页面上的所有块都准备好 .
import { bootstrap } from '@appsemble/sdk';
bootstrap(({ utils }) => {
const root = document.createElement('span');
root.textContent = utils.formatMessage('hello');
return root;
});
类型脚本接口
可以通过在 @appsemble/sdk。这允许您
作为块开发者以安全的方式工作,同时提供验证和文档
用户在应用程序中执行您的块.
参数
区块参数可通过扩大 @appsemble/sdk#Parameters 接口。 这个
应用 CLI 将从这些类型定义中自动创建 JSON schema. 这包括
信技司的评论。 强烈建议正确记录生成的此界面
文档是用户化的。 JSON schema属性可以被写作TSDoc标记. 马克下是
在描述中支持.
declare module '@appsemble/sdk' {
interface Parameters {
/**
* This is an example string parameter.
*
* @format email
* @maxLength 50
* @minLength 10
* @pattern ^.+@.*+\..+$
* @example 'Example string'
*/
exampleString: string;
/**
* This is an number parameter.
*
* @type integer
* @maximum 1337
* @minimum 42
* @multipleOf 3
* @example 123
*/
exampleNumber: number;
}
}
行动
区块动作可以通过增加 @appsemble/sdk#Action 接口。 只有动作
使用了密钥和TSDoc描述。 标记被支持在描述中 .
declare module '@appsemble/sdk' {
interface Action {
/**
* This is an example action.
*/
onClick: never;
}
}
活动
块事件发射器可以通过增强 @appsemble/sdk#EventEmitters 接口.
块事件听众可以通过增强 @appsemble/sdk#EventListeners 接口.
对发射人和听众都只使用密钥和TSDoc描述. 马克下是
在描述中支持.
declare module '@appsemble/sdk' {
interface EventEmitters {
/**
* This is an example event emitter.
*/
data: never;
}
interface EventListeners {
/**
* This is an example event listener.
*/
refresh: never;
}
}
信件
块信息可以通过增强 @appsemble/sdk#Messages 接口。 价值观
调用时这些属性用于类型安全 utils.formatMessage()。马克德是
在描述中支持.
declare module '@appsemble/sdk' {
interface Messages {
/**
* This message doesn’t support variables
*/
bye: never;
/**
* This message accepts a variable named `name`.
*/
hello: {
name: string;
};
}
}