刘菊萍(絮黎) bc0b94007a docs: update faq009.md
完善“物料出现 Component Not Found 相关报错” FAQ
2023-08-16 16:43:51 +08:00

3.4 KiB
Raw Blame History

title, sidebar_position, tags
title sidebar_position tags
物料出现 Component Not Found 相关报错 9
FAQ

预览态antd 资产包按顺序加载,但是没有按顺序执行

资产包按顺序加载,但是没有按顺序执行,导致部分 js 执行的时候,依赖的资源没有准备好,报错了。 传给 @alilc/lowcode-react-renderer 的 components 值为空。

解决方案 LowCodeEngine 升级到 1.0.8

相关 PRhttps://github.com/alibaba/lowcode-engine/pull/383

编辑态snippets 和注入组件不对应

1.在控制台中输入

AliLowCodeEngine.material.componentsMap

查看物料配置是否正常。

image.png

如果正常继续。 LowCodeEngine 需要升级到 1.0.10

AliLowCodeEngine.project.simulator.renderer.components

看看对应的物料是否存在,如果不存在,排查物料问题。

如果不正常,查看资产包配置,其中资产包中的 componentsmaterial.componentsMap 生成有关系。

例如,物料配置信息在 @alilc/lowcode-materials 包里面,即需要在 components 中加上下面的代码

"components": [{
  "exportName": "AlilcLowcodeMaterialsMeta",
  "npm": {
    "package": "@alilc/lowcode-materials"
  },
  "url": "https://alifd.alicdn.com/npm/@alilc/lowcode-materials@1.0.7/build/lowcode/meta.js",
  "urls": {
    "default": "https://alifd.alicdn.com/npm/@alilc/lowcode-materials@1.0.7/build/lowcode/meta.js",
    "design": "https://alifd.alicdn.com/npm/@alilc/lowcode-materials@1.0.7/build/lowcode/meta.design.js"
  }
}]

material.componentsMap 不存在相关的组件信息,原因有两个:

  • 没有添加对应的物料到 components 字段中
  • components 配置不正确,需要查看 url 是否正常加载,查看 exportName 是否配置正确,即 window.${exportName} 是否存在。

2.选中组件,在控制台中输入

AliLowCodeEngine.project.currentDocument.selection.getNodes()[0].exportSchema('render')

查看 componentName 是否匹配。

3.调用 rerender 方法

AliLowCodeEngine.project.simulator.rerender()

看一下问题是否恢复。

排查物料问题

找到对应组件的资产包,比如下图的资产包。

{
  "package": "@yingzhi8/lowcode-public-package",
  "version": "0.1.2",
  "library": "BizComps",
  "urls": [
    "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/render/default/view.js",
    "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/render/default/view.css"
  ],
  "editUrls": [
    "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/view.js",
    "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/view.css"
  ],
  "advancedUrls": {
    "default": [
      "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/render/default/view.js",
      "https://unpkg.com/@yingzhi8/lowcode-public-package@0.1.2/build/lowcode/render/default/view.css"
    ]
  },
  "advancedEditUrls": {}
}

查看 urls 是否加载

通过查看控制台,看加载的 urls

library 配置是否正确

library 是可以在画布上访问到全局变量,确定 library 是否正确,在控制台输入:

AliLowCodeEngine.project.simulator.contentWindow.${library}