micro-zoe / micro-app

A simple, efficient and powerful micro front-end framework. 一款简约、高效、功能强大的微前端框架
https://micro-zoe.github.io/micro-app/
MIT License
5.57k stars 566 forks source link

使用angular的版本为13作为子应用匹配的时候页面会一直刷新 #203

Closed liulovegame closed 12 months ago

liulovegame commented 2 years ago

问题描述

按照文档使用说明,使用angular的版本13作为子应用的时候,路由匹配到了会一直自己重复刷新页面,主应用不管是13或者12都是呈现会这样的情况,当子应用版本降为12的时候就不会了。

复现步骤

  1. 启动项目,切换至路由 /my-page,如果是路由/my-micro就会正常加载

上传截图

请上传代码截图、控制台、终端等截图以帮助我们了解您的问题。

复现仓库

https://github.com/liulovegame/micro-angular

环境信息

bailicangdu commented 2 years ago

好的,我看一下

mewangbin commented 2 years ago

好的,我看一下

现在是只有你一个人在维护的吗?

liulovegame commented 2 years ago

@bailicangdu 我想问下子应用嵌入主应用后子应用的代码是被隔离的,有什么办法能访问到吗,有些时候想定位下子应用引发的错误都不好定位。

bailicangdu commented 2 years ago

@bailicangdu 我想问下子应用嵌入主应用后子应用的代码是被隔离的,有什么办法能访问到吗,有些时候想定位下子应用引发的错误都不好定位。

可以设置inline模式,方便调试 https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/configure?id=inline

liulovegame commented 2 years ago

@bailicangdu 我想问下子应用嵌入主应用后子应用的代码是被隔离的,有什么办法能访问到吗,有些时候想定位下子应用引发的错误都不好定位。

可以设置inline模式,方便调试 https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/configure?id=inline

内联引入在Sources不能断点,感觉也不是很方便调试哦。

sxhieen commented 2 years ago

我试过主应用和子应用都为Angular 13.3.0时,不会出现一直刷新的问题

bailicangdu commented 2 years ago

我试过主应用和子应用都为Angular 13.3.0时,不会出现一直刷新的问题

angular13使用type module,导致沙箱失效

sxhieen commented 2 years ago

我试过主应用和子应用都为Angular 13.3.0时,不会出现一直刷新的问题

angular13使用type module,导致沙箱失效

有什么好的解决方法吗

bailicangdu commented 2 years ago

@sxhieen 目前没有,我们正在尝试一些解决方案

m310851010 commented 2 years ago

我通过修改angular依赖包解决,使打包后的script非module方式加载

具体修改文件: node_modules/@angular-devkit/build-angular/src/utils/index-file.js

注释掉一行代码 attrs.push('type="module"');

希望对你有帮助

eclipseHOOT commented 2 years ago

attrs.push('type="module"');

angular13会一直有刷新问题,就是两个都是ssr渲染的时候