Skip to content

安装与引入

generator-sdk 是平台能力层。如果你还希望直接使用官方统一壳层,并内置登录入口、模板入口和浮动导出入口,建议同时安装 generator-workbench

如果你想单独了解这个壳层的定位、挂载方式和展示效果,可以继续阅读 Generator Workbench

方式一:npm 包(工程化项目)

在 npm 查看

bash
pnpm add @atomm-developer/generator-sdk
pnpm add @atomm-developer/generator-workbench
# 或
npm install @atomm-developer/generator-sdk
npm install @atomm-developer/generator-workbench
typescript
import { GeneratorSDK, SdkError, withBilling } from '@atomm-developer/generator-sdk'
import { defineGeneratorWorkbench } from '@atomm-developer/generator-workbench'

// TypeScript 类型也一并导出,可直接使用
import type { UserInfo, AuthStatus, CloudRecord, UsageInfo } from '@atomm-developer/generator-sdk'

defineGeneratorWorkbench()

⚠️ Vue 3 项目重要:请勿将 SDK 实例存储在响应式数据中,详见 SDK 初始化

方式二:CDN 引入(纯 HTML / vibe coding)

html
<script src="https://static-res.atomm.com/scripts/js/generator-sdk/index.umd.js"></script>
<script src="https://static-res.atomm.com/scripts/js/generator-sdk/generator-workbench/index.umd.js"></script>
<script>
  // UMD 格式下 window.GeneratorSDK 即为 GeneratorSDK 类
  const sdk = GeneratorSDK.init({ appKey: 'your_app_key' })

  // SdkError 和 withBilling 挂载在 GeneratorSDK 上
  const SdkError = GeneratorSDK.SdkError
  const withBilling = GeneratorSDK.withBilling

  GeneratorWorkbench.defineGeneratorWorkbench()
</script>

generator-workbench 现在会在 window.Vue 不存在时自动加载 Vue 3,在自己的 Shadow DOM 里以非阻塞方式注入默认的 atomm-ui 样式,并在 window.AtommUI 不存在时自动加载默认的 atomm-ui CDN 脚本,因此宿主壳本身不再需要额外手动引入 Vue 或 atomm-ui.js。当前 shell 会发起单次后台 CSS 拉取,并把同一份 CSS 文本分别补到 Shadow DOM 和全局 document.head,所以 CSS 加载不再阻塞首屏壳层渲染,也不会再走之前的 <link> + fetch 双通道请求。

但这只覆盖宿主壳自身。若你的 runtime 业务 UI 也直接使用 atomm-ui 组件,且它的实际挂载根节点位于 Shadow Root 或其他隔离上下文中,仍需要把业务 UI 样式注入到 runtime 的实际样式宿主,而不是只依赖页面 <head>

推荐安装组合

包名作用推荐场景
@atomm-developer/generator-sdk提供 auth、template、export、billing、history 等平台能力始终必装
@atomm-developer/generator-workbench提供官方统一宿主壳层,负责顶栏、模板入口、登录区、导出入口和 runtime 挂载新的标准生成器推荐安装

构建产物

@atomm-developer/generator-sdk

文件格式用途使用方式
dist/index.es.jsESMnpm 工程化项目import { GeneratorSDK } from '@atomm-developer/generator-sdk'
dist/index.umd.jsUMDCDN <script> 标签window.GeneratorSDK
dist/index.d.tsTypeScript 类型IDE 自动补全自动加载

@atomm-developer/generator-workbench

文件格式用途使用方式
dist/index.es.jsESMnpm 工程化项目import { defineGeneratorWorkbench } from '@atomm-developer/generator-workbench'
dist/index.umd.jsUMDCDN <script> 标签window.GeneratorWorkbench
dist/index.d.tsTypeScript 类型IDE 自动补全自动加载

依赖说明

依赖版本用途打包行为
@makeblock/passport-client^4.0.19登录弹窗打包进 SDK
@makeblock/upload^1.0.0OSS 上传打包进 SDK
axios^1.7.9HTTP 请求打包进 SDK
uuid^11.1.0生成唯一 ID打包进 SDK

所有依赖都打包进 SDK,使用方无需额外安装。

MIT Licensed