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

qiankun如何集成lowcode-demo

Open dj49846917 opened this issue 3 years ago • 13 comments

请问qiankun微前端框架如何去集成lowcode-demo这个工程,求大佬指导下

dj49846917 avatar May 24 '22 13:05 dj49846917

Hello @dj49846917. We totally like your proposal/feedback, PR wanted。

你好 @dj49846917,我们完全同意你的提议/反馈,欢迎 PR。

github-actions[bot] avatar May 25 '22 03:05 github-actions[bot]

作为子应用吗?可以直接导出声明周期试试看,qiankun子应用不限制框架接入,除个别场景需要调整。

f2elab avatar Aug 16 '22 05:08 f2elab

可以在基座通过子应用的方式去加载 lowcode-demo, 也可以在子应用嵌套子应用加载

leehomeok avatar Oct 18 '22 09:10 leehomeok

可以在基座通过子应用的方式去加载 lowcode-demo, 也可以在子应用嵌套子应用加载

lowcode-demo作为子应用加载时,遇到 找不到window上定义的全局变量React等,你是怎么解决的啊? image

jingjingzhao avatar Oct 21 '22 07:10 jingjingzhao

这个低代码引擎作为子应用接入qiankun, 确实会报一堆错误让人莫不着头脑,主应用用的react, 按照乾坤文档接入,发现了和上面类似的错误,低代码引擎界面出来了,内容区一直loading着

image image

zliaoliao avatar Oct 25 '22 08:10 zliaoliao

我找到了hack的解决方法。 在主应用中引入子应用(lowcode-demo)的cdn包,主引用会将这些变量挂载到window上。具体原因见这个issue中的3楼 image

jingjingzhao avatar Oct 27 '22 10:10 jingjingzhao

image 乾坤嵌入后,engine-core.js中调用getPublicPath得到的路径为空''; 查找源码后, 发现

const publicPath = (document.currentScript as HTMLScriptElement)?.src.replace(/^(.*\/)[^/]+$/, '$1');

export function getPublicPath(): string {
  return publicPath || '';
}

找到一个相关的解释 image

我想知道各位在做乾坤嵌入时没有出现这个问题吗

ajl512 avatar Nov 14 '22 10:11 ajl512

image 乾坤嵌入后,engine-core.js中调用getPublicPath得到的路径为空''; 查找源码后, 发现

const publicPath = (document.currentScript as HTMLScriptElement)?.src.replace(/^(.*\/)[^/]+$/, '$1');

export function getPublicPath(): string {
  return publicPath || '';
}

找到一个相关的解释 image

我想知道各位在做乾坤嵌入时没有出现这个问题吗

Same Problem. Any ideas ?

haledeng avatar Nov 15 '22 06:11 haledeng

我找到了hack的解决方法。 在主应用中引入子应用(lowcode-demo)的cdn包,主引用会将这些变量挂载到window上。具体原因见这个issue中的3楼 image

遇到了和你一样的问题,在主应用中引入了子应用(lowcode-demo)的cdn包还是不行,可以看下你的主应用的externals和子应用的externals配置吗 @jingjingzhao

Dawei921 avatar Feb 18 '23 17:02 Dawei921

我找到了hack的解决方法。 在主应用中引入子应用(lowcode-demo)的cdn包,主引用会将这些变量挂载到window上。具体原因见这个issue中的3楼 image

遇到了和你一样的问题,在主应用中引入了子应用(lowcode-demo)的cdn包还是不行,可以看下你的主应用的externals和子应用的externals配置吗 @jingjingzhao

还要在子应用中的script里添加ignore image

xyouZone avatar Jun 27 '23 06:06 xyouZone

主应用启用沙箱后对象都挂载在了FakeWindow上,设计器中使用iframe 加载没有被qiankun劫持所以拿window.parent拿不到 Proxy 对象,可以通过environment 或 extraEnvironment 去设置环境 image 5d2d1577-8f5d-42ef-b404-5cb83ba3f25e

aceHubert avatar Aug 11 '23 08:08 aceHubert

可以去看下这个库的解决方案哦 https://github.com/WHSnhcZDYRZC/umi4-lowcode-engine-solutions

WHSnhcZDYRZC avatar Jul 13 '24 12:07 WHSnhcZDYRZC