SuperAPI AI 工具集

domo-app-publish

部署与运维

查看项目

更新于 10-16 06:39

技能介绍

用途

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 回填以及发布前检查清单的场景。

限制

资料未提供关于收费、价格、平台支持范围、具体效果或额外使用步骤的信息,暂未提供。