@appsemble/sdk

中文文档
0.40.9发布于 2026/10/30LGPL-3.0-onlyTypeScriptES Module构建来源已验证近 30 天下载 2841

自己建块

中文使用文档
文档目录6 节
  1. 目录
  2. 安装
  3. 使用量
  4. bootstrap
  5. 类型脚本接口
  6. 许可证

应用 SDK

自己建块

npm GitLab CI Prettier

目录

安装

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;
    };
  }
}

许可证

LGPL-3.0 仅限 © 应用

版本与发布记录

@appsemble/sdk 共发布 379 个版本,首次发布于 2017/06/14;过去 12 个月发布了 62 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.40.9latest2026/10/308 天前
0.40.82026/10/308 天前
0.40.72026/10/299 天前
0.40.7-node-brotli.0next2026/10/2711 天前
0.40.62026/10/2414 天前
0.40.52026/10/1622 天前

关于 @appsemble/sdk 的常见问题

@appsemble/sdk 是什么?

自己建块

如何安装 @appsemble/sdk?

在项目目录运行 npm install @appsemble/sdk,或使用 pnpm add / yarn add / bun add。

@appsemble/sdk 支持 TypeScript 吗?

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

@appsemble/sdk 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@appsemble/sdk 可以商用吗?

@appsemble/sdk 使用 LGPL-3.0-only 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@appsemble/sdk 的下载量有多少?

根据 npm 官方下载统计,@appsemble/sdk 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,841 次,日均约 95 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@appsemble/sdk 还在维护吗?

最新版本 0.40.9 发布于 2026/10/30(8 天前);至今共发布 379 个版本,其中过去 12 个月发布了 62 个;首次发布于 2017/06/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。