micro-zoe / micro-app

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

create angular 8 cli project,route is match,but not fectched project,see below 2 pictures #384

Closed emmi2008 closed 1 year ago

emmi2008 commented 2 years ago

create angular 8 cli project,route is match,but not fectched project,see below 2 pictures,知道是什么原因?

image image

bailicangdu commented 2 years ago

路由设置的问题吧,代码贴一下呢

emmi2008 commented 2 years ago

基座是hostory,子座也是hostory,在外面引用你们的例子就没有问题。但我cli 生成的angular 8 就是有问题。,子应用没有和你的样例放一起。 子座的路由。 const routes: Routes = [ { path: '', component: HomeComponent }, { path: 'page2', // 懒加载 loadChildren: () => import('./page2/page2.module').then(m => m.Page2Module) }, // { path: '**', redirectTo: '', pathMatch: 'full' }, ];

@NgModule({ imports: [RouterModule.forRoot(routes)], // imports: [RouterModule.forRoot(routes, {useHash: true})], exports: [RouterModule], providers: [{ provide: APP_BASE_HREF, // @ts-ignore MICRO_APP_BASE_ROUTE 为micro-app传入的基础路由 useValue: window.MICRO_APP_BASE_ROUTE || '/aa', }] }) export class AppRoutingModule { }

基座路由和你的一样,aa 就是子路由 { path: 'app-vue3', children: [{ path: '', component: Vue3Component }] }, { path: 'aa', children: [{ path: '', component: TestComponent }] },

emmi2008 commented 2 years ago

你也可以在你的例子外面CLI生成一个angular 8 的试试,试试,启动4200端口试一试,,如果的ts 文件下url我不要/aa,就好像取到了文件,但是进入死循环。

的ts 文件下 url = `${config.aa}/aa` ====》 url = `${config.aa}` microAppData = {msg: '来自基座的数据'}
bailicangdu commented 2 years ago

4200是基座端口吗,从基座路由开始就配置错了

emmi2008 commented 2 years ago

你的基座端口是3000,我只是自己新建了一个CLI angular 8默认的4200的子座,放在您的例子里,然后在你的例子引进这个样列,4200是默认的端口哦。你的例子,已经看了很多次了,就是启动不了子应用

emmi2008 commented 2 years ago

image 奇怪,复制上去**双星号不见了,路由应没有错呀,按你们的样例的基座来加的一个路由

emmi2008 commented 2 years ago

还有大佬能解答吗?

bailicangdu commented 2 years ago

最好能提供一个建议的demo帮助我们复现问题

emmi2008 commented 2 years ago

就是在项目外面建一个angular8 cli 的demo为demo8,启动端口为4200或其他没有占用的端口,原你这个demo的nav 上建多一个路由入口,链接项目外的demo8,就会出现404的情况 image

emmi2008 commented 2 years ago

这问题有人知道什么情况吗,能得到解决吗?

emmi2008 commented 2 years ago

找出了问题原因,在angular.json中,配上"deployUrl": "/child/angular11/", 完美解决在你们的样例中,添加子座angular11 ,可以加载子应用。但是切换成添加angular8 时,项目不支持,加载子页面会进入死循环,能否适当去适配支持?

最好能提供一个建议的demo帮助我们复现问题