SuperAPI AI 工具集

canvas-component-upload

编程与开发

查看项目

更新于 10-15 11:22

技能介绍

用途 该技能用于在组件开发完成并通过验证后,将修改或新建的组件上传到 Drupal Canvas,并针对上传过程中常见的失败情况给出处理方式。

主要能力

  • 上传已验证的组件到 Drupal Canvas。
  • 在上传前检查项目是否具备必要的配置条件。
  • 区分连接/配置类失败与依赖顺序类失败,并给出对应的重试或停止策略。

使用方式 上传前需确认用户已安装并配置 Drupal Canvas CLI,且目标站点可用。设置检查包括:项目根目录是否存在 .env 文件;若存在,需确认其中已设置 CANVAS_SITE_URL、CANVAS_CLIENT_ID、CANVAS_CLIENT_SECRET。若 .env 缺失或任一必需值缺失,应停止操作,要求用户先完成配置,不要自行猜测配置步骤。官方配置文档为:Drupal Canvas OAuth 模块设置 https://git.drupalcode.org/project/canvas/-/tree/1.x/modules/canvas_oauth#2-setup ;Drupal Canvas CLI 包与文档 https://www.npmjs.com/package/@drupal-canvas/cli 。仅在用户确认配置完成后继续。

组件工作完成并验证后,询问用户是否要上传修改的组件到 Canvas,并使用正确的包管理器。例如使用 npm 时运行:npx canvas upload -c component1,component2,component3 -y,将 component1,component2,component3 替换为实际创建或修改的组件名称,如 canvas upload -c button,card,hero。

失败处理 默认行为:除非错误明显属于连接/配置失败,否则始终重试失败的上传。当失败表明 Canvas 应用连接已正常工作时(例如依赖/顺序相关的组件错误),应重试上传;不要重试连接/配置失败。

连接/配置失败:停止,不重试。若上传因认证、授权或网络/连接错误失败,应停止并要求用户先完成或验证配置。此类错误包括无效凭据、未授权/禁止响应、DNS 问题、连接被拒绝、主机不可达、到达 Canvas 前的请求超时、TLS/SSL 握手或证书失败。此时应引导用户查看上述官方设置文档,请其核对并更新 .env 中的 CANVAS_SITE_URL、CANVAS_CLIENT_ID、CANVAS_CLIENT_SECRET 以及 OAuth/CLI 配置,待用户确认配置更新完成后再重试上传。

依赖相关失败 上传多个新组件且一个组件依赖另一个组件时(例如 hero 导入 heading),上传可能因提示组件不存在而失败。这是因为包含其他组件的组件先于其依赖项上传。这属于预期行为,直接重试上传命令即可。后续尝试中,上一次运行已成功上传的依赖项将已存在,从而使依赖组件能够成功上传。示例:第一次上传尝试中 hero 因 heading 尚不存在而失败,但 heading 上传成功;第二次上传尝试中 hero 因 heading 已存在而成功。若多次重试后仍失败,请检查上传命令是否包含所有依赖组件。

适用场景 适用于组件开发完成并验证后,需要将组件同步到 Drupal Canvas 的流程,尤其是涉及多个组件且存在依赖关系时的上传与排错。

限制 使用前必须完成 Drupal Canvas CLI 与 OAuth 配置,且 .env 中必需值齐全;连接/配置类错误不应重试,需先修复配置;依赖顺序类错误可重试,但需确保依赖组件包含在上传命令中。