用途
domo-app-publish 用于指导开发者构建并发布 Domo 应用,核心是 dist 构建产物工作流以及首次发布时的应用 ID 处理。它适合需要将本地开发的 Domo 应用部署到 Domo 实例的场景。
前置条件
- 已安装 Node.js
- 已安装 Domo CLI,安装命令为:npm install -g @domoinc/ryuu
本地开发
安装依赖并启动开发服务器:
npm install # 安装依赖 npm run dev # 启动开发服务器(通常是 Vite)
若要在本地进行 API 调用,需要配置 ryuu-proxy 并完成 domo login 认证。
生产构建
npm run build # 输出到 dist/(Vite)或 build/(CRA)
Domo CLI 认证
domo login # 使用你的 Domo 实例进行认证
执行后会提示输入 Domo 实例 URL 和凭据。
发布
cd dist # 切换到构建输出目录 domo publish # 发布到 Domo
首次发布的重要事项
- 首次发布时,Domo 会为你的应用生成一个新的 id
- 该 ID 会出现在 dist 文件夹中已发布的 manifest.json 里
- 必须将这个 ID 复制回源码的 manifest.json(例如 public/manifest.json)
- 如果不这样做,每次发布都会创建一个新应用,而不是更新已有应用
复制生成 ID 的示意:
首次发布后,复制生成的 ID:
dist/manifest.json → public/manifest.json(仅 "id" 字段)
后续发布
一旦源码 manifest 中已包含该 ID:
npm run build && cd dist && domo publish
构建检查清单
发布前请确保:
- manifest.json 中数据集使用正确的 dataSetId(而不是 id)
- manifest.json 中每个数据集映射都包含 fields: []
- thumbnail.png 存在且为 300x300 像素
- 所有查询都使用 .select() 并指定具体列(绝不获取所有列)
- 每个可视化都有自己经过优化的查询
- 没有 .aggregate() 调用(改用 .groupBy() 或客户端聚合)
- .groupBy() 调用带有分组列(而不仅仅是聚合)
适用场景
适用于使用 Domo CLI 和基于 Vite 或 CRA 的前端项目来开发、构建并发布 Domo 应用的开发者,尤其是需要处理首次发布 ID 回填以及发布前检查清单的场景。
限制
资料未提供关于收费、价格、平台支持范围、具体效果或额外使用步骤的信息,暂未提供。