lowcode-engine icon indicating copy to clipboard operation
lowcode-engine copied to clipboard

Component Not Found以及无法正常预览

Open rongrongt opened this issue 2 years ago • 4 comments

步骤: 1、官方提供的《物料demo》示例中,找个物料仓库执行lowcode:dev一个物料。 2、然后再找个官方提供的《代码引擎demo》示例,将第1步执行的物料在assets.json文件中加入。然后执行start启动

引发的问题1:到页面上去使用组件拖拽到画布上, 发现报Component Not Found。在控制台中输入AliLowCodeEngine.material.componentsMap能正常看到组件。再执行AliLowCodeEngine.project.simulator.renderer.components时就找不到新加入的组件。

有个奇怪的现象是,如果执行的《物料demo仓库》和《代码引擎demo仓库》是对应关系就可以正常拖拽到画布上, 例如:《物料demo仓库》是:antd-lowcode-materials, 《代码引擎demo仓库》是demo-basic-antd。这样物料是可以正常运行的。 再例如:《物料demo仓库》是:antd-lowcode-materials, 《代码引擎demo仓库》是demo-general。这样物料Component Not Found

引发的问题2: 导致无法预览。预览时报:preview.tsx:3 Uncaught (in promise) undefined。import "regenerator-runtime/runtime"; image

Environments (please complete the following information) (required): / 请提供如下信息(必填)

  • 低代码引擎demo仓库:https://github.com/alibaba/lowcode-demo/tree/main/demo-general
  • 物料demo仓库:https://github.com/alibaba/lowcode-materials/tree/main/packages/antd-lowcode-materials
  • AliLowCodeEngine version: ^1.1.2
  • AliLowCodeEngineExt version: ^1.0.0
  • Browser [e.g. chrome, safari] : Chrome 已是最新版本版本 111.0.5563.64(正式版本) (x86_64)
  • 电脑系统: mac image

image

物料启动地址在3334的端口上。本地调试的本地代理已设置: image

rongrongt avatar Mar 13 '23 03:03 rongrongt

可以看一下这里

https://lowcode-engine.cn/site/docs/faq/faq009

原因应该是综合场景中没有 antd 相关的资源配置,所以组件缺少 antd 的依赖导致出现该问题。

综合场景目前没有增加 antd 相关的依赖的计划,调试使用 antd 场景即可。

liujuping avatar Mar 13 '23 07:03 liujuping

可以看一下这里

https://lowcode-engine.cn/site/docs/faq/faq009

原因应该是综合场景中没有 antd 相关的资源配置,所以组件缺少 antd 的依赖导致出现该问题。

综合场景目前没有增加 antd 相关的依赖的计划,调试使用 antd 场景即可。


但是根据文档指示我应该只需要merge产出的assets.json包就可以了啊,没有说还需要关注其他依赖,如果需要关注我应该从哪些方向下手呢?因为我自己根据官方npm init @alilc/element生成的物料,也会因为用了antd类似的组件发生同样无法在其他低代码平台上使用的问题

rongrongt avatar Mar 13 '23 08:03 rongrongt

补充一点:刚刚发现将物料仓库的代码build后,将assets-prod.json文件传到服务器,然后本地通过setAssets或者loadIncrementalAssets可以成功引入并且渲染在画布上,但是这对本地物料开发体验不好,而且仍然有个致命的问题是,引入了其他物料后,本地使用该物料预览时仍然无法正常渲染Component Not Found image

rongrongt avatar Mar 13 '23 11:03 rongrongt

可以看一下这里 https://lowcode-engine.cn/site/docs/faq/faq009 原因应该是综合场景中没有 antd 相关的资源配置,所以组件缺少 antd 的依赖导致出现该问题。 综合场景目前没有增加 antd 相关的依赖的计划,调试使用 antd 场景即可。

但是根据文档指示我应该只需要merge产出的assets.json包就可以了啊,没有说还需要关注其他依赖,如果需要关注我应该从哪些方向下手呢?因为我自己根据官方npm init @alilc/element生成的物料,也会因为用了antd类似的组件发生同样无法在其他低代码平台上使用的问题

参考下这个试试呢,https://github.com/alibaba/lowcode-engine/issues/1688

guohejun avatar Mar 14 '23 01:03 guohejun

可以看一下这里 https://lowcode-engine.cn/site/docs/faq/faq009 原因应该是综合场景中没有 antd 相关的资源配置,所以组件缺少 antd 的依赖导致出现该问题。 综合场景目前没有增加 antd 相关的依赖的计划,调试使用 antd 场景即可。

但是根据文档指示我应该只需要merge产出的assets.json包就可以了啊,没有说还需要关注其他依赖,如果需要关注我应该从哪些方向下手呢?因为我自己根据官方npm init @alilc/element生成的物料,也会因为用了antd类似的组件发生同样无法在其他低代码平台上使用的问题

比如 merge 产生 antd 依赖的资产包,就使用 antd 的场景,其他不支持 antd 的场景自然需要先支持 antd 然后再 merge 的。

liujuping avatar Mar 24 '23 08:03 liujuping