umijs / qiankun

📦 🚀 Blazing fast, simple and complete solution for micro frontends.
https://qiankun.umijs.org
MIT License
15.72k stars 2.01k forks source link

[Feature Request] Angular微前端框架子应用性能慢对主应用的影响 #2380

Open wudith opened 1 year ago

wudith commented 1 year ago

Background

angular技术栈引入qiankun,一个主应用使用手动加载方式同时加载3个子应用,其中一个子应用加载性能慢,导致整个页面卡顿白屏

Proposal

请教各位大神,针对以上问题,有没什么针对子应用的性能检测或加载延迟判断方式,对该子应用进行风险控制弹出错误提示,并通过卸载其的方式避免对主页面进行影响

Additional context

或者有没其他建议可以规避这种场景的问题

DavisGYF commented 1 year ago

你angular接入的是基座还是子应用啊, 我下载用2.8.4demo,接入子应用,每次更改完以后,自动更新页面会直接,都会报Cannot GET /angular13/ 必须路由重新 进入http://localhost:7106,端口后面什么也不能跟,否则还是报这个错, 你遇到过没

DavisGYF commented 1 year ago

上两天班儿研究了今天有更新到2.9.0, 能不能加个联系方式沟通一下啊,这个阿里也不建几个分享群。。

wudith commented 1 year ago

你angular接入的是基座还是子应用啊, 我下载用2.8.4demo,接入子应用,每次更改完以后,自动更新页面会直接,都会报Cannot GET /angular13/ 必须路由重新 进入http://localhost:7106,端口后面什么也不能跟,否则还是报这个错, 你遇到过没

我们的主应用和子应用都是angular技术栈,从2年前项目的angular9就开始引入了,去年升到的angular13,没有遇到你说的问题。demo没有用过,直接参考官方文档就可以

wys0529 commented 1 year ago

有不有一种可能是,你现在单个子应用就已经使用了大量性能 可以打开网页的性能监视器 看下cpu的占用率

DavisGYF commented 1 year ago

官网没有说基座主应用,使用angular项目改造的,你写的基座也用angular的项目,能不能分享下或者有没有demo让参考参考呗? 我看你代码库分享的demo也是用官方demo的main基座!

DavisGYF commented 1 year ago

官网没有说基座主应用,使用angular项目改造的,你写的基座也用angular的项目,能不能分享下或者有没有demo让参考参考呗? 我看你代码库分享的demo也是用官方demo的main基座!

wys0529 commented 1 year ago

官网没有说基座主应用,使用angular项目改造的,你写的基座也用angular的项目,能不能分享下或者有没有demo让参考参考呗? 我看你代码库分享的demo也是用官方demo的main基座!

你可以自己提供个demo 让我们去看

DavisGYF commented 1 year ago

我用的就是官方的demo,然后安装依赖跑起来的,子应用就是每次改变自动刷新就会报错了

wudith commented 1 year ago

有不有一种可能是,你现在单个子应用就已经使用了大量性能 可以打开网页的性能监视器 看下cpu的占用率

是的,就是这种场景,因为子应用是其他团队开发的,偶发不可控。 就期望能出现这种情况的时候能在主应用怎么识别到,并手动卸载掉这个性能慢的子应用

wys0529 commented 1 year ago

有不有一种可能是,你现在单个子应用就已经使用了大量性能 可以打开网页的性能监视器 看下cpu的占用率

是的,就是这种场景,因为子应用是其他团队开发的,偶发不可控。 就期望能出现这种情况的时候能在主应用怎么识别到,并手动卸载掉这个性能慢的子应用

2379 你可以看下 这个行不行

DavisGYF commented 1 year ago

楼主,你angular子应用是直接照着官方改了,还是安装single-spa?? 我这两天又捣鼓捣鼓,返现安装single-spa,子应用改变的时候,热更新都会报上面的错找不到页面,我下了其他认得demo,不是安装single-spa的都没有问题,并且我看官网demo给出的angular9子应用也有这个类似的问题!

wudith commented 1 year ago

楼主,你angular子应用是直接照着官方改了,还是安装single-spa?? 我这两天又捣鼓捣鼓,返现安装single-spa,子应用改变的时候,热更新都会报上面的错找不到页面,我下了其他认得demo,不是安装single-spa的都没有问题,并且我看官网demo给出的angular9子应用也有这个类似的问题!

我的空间里有demo,可以正常运行,基于教程的single-spa-angular和官方demo的非single-spa-angular都用过。你的场景是不是比较特殊,子应用改变热更新具体是什么

DavisGYF commented 1 year ago

我是主应用也是angular,用的是angualr8没有安装single-spa,子应用安装官方提示的安装了single-spa也是angular8,然后也用官方给出的demo子应用-angular9尝试了,都是子应用改变报错!然后子应用还下载了一个别人写的angular7和9都是没有用single-spa就没有问题,忘记说了,用官方给出的主应用链接single-spa改装的子应用也没有问题, 现在问题就是我基座用的angular8,然后在接single-spa改造的子应用就会报错! 我准备不用single-spa自己在改造一个实时,前两天安装官方说的,不用single-spa改造的子应用,最后运行不起来了,一直报错,说@angular-builders/custom-webpack": "^7.5.2", "@angular-builders/dev-server": "^7.3.1","@angular-devkit/build-angular找不到这两个里面的一些文件,但是我看依赖包里面明明有,反正最后没有成功,所以用single-spa了,谁知道哦又遇到这个问题。。

wys0529 commented 1 year ago

楼主,你angular子应用是直接照着官方改了,还是安装single-spa?? 我这两天又捣鼓捣鼓,返现安装single-spa,子应用改变的时候,热更新都会报上面的错找不到页面,我下了其他认得demo,不是安装single-spa的都没有问题,并且我看官网demo给出的angular9子应用也有这个类似的问题!

我的空间里有demo,可以正常运行,基于教程的single-spa-angular和官方demo的非single-spa-angular都用过。你的场景是不是比较特殊,子应用改变热更新具体是什么

你的demo qiankun 是2.0+ 建议先升级到2.9.0

wudith commented 1 year ago

楼主,你angular子应用是直接照着官方改了,还是安装single-spa?? 我这两天又捣鼓捣鼓,返现安装single-spa,子应用改变的时候,热更新都会报上面的错找不到页面,我下了其他认得demo,不是安装single-spa的都没有问题,并且我看官网demo给出的angular9子应用也有这个类似的问题!

我的空间里有demo,可以正常运行,基于教程的single-spa-angular和官方demo的非single-spa-angular都用过。你的场景是不是比较特殊,子应用改变热更新具体是什么

你的demo qiankun 是2.0+ 建议先升级到2.9.0

我们现在angular9的工程目前还是用的v2.0.25,之前升级讨论不是高版本有dom性能问题吗? 升级2.9.0的话除了解决了这个问题还有别的好处吗

wys0529 commented 1 year ago

楼主,你angular子应用是直接照着官方改了,还是安装single-spa?? 我这两天又捣鼓捣鼓,返现安装single-spa,子应用改变的时候,热更新都会报上面的错找不到页面,我下了其他认得demo,不是安装single-spa的都没有问题,并且我看官网demo给出的angular9子应用也有这个类似的问题!

我的空间里有demo,可以正常运行,基于教程的single-spa-angular和官方demo的非single-spa-angular都用过。你的场景是不是比较特殊,子应用改变热更新具体是什么

你的demo qiankun 是2.0+ 建议先升级到2.9.0

我们现在angular9的工程目前还是用的v2.0.25,之前升级讨论不是高版本有dom性能问题吗? 升级2.9.0的话除了解决了这个问题还有别的好处吗

好处可以看下版本说明吧 不过性能问题对我们来说就是最大的问题