Closed niuyajing closed 2 years ago
多给点信息,代码怎么写的?怎么个不行法?
AppWorks - icestark基于vue的主应用模板和子应用模板 1.修改主应用的路由模式为hash,为微应用设置 hashType 为 true 2.子应用的同样改造成 HashRouter 路由模式 点击主应用的Login、About页面无变化,router.beforeEach拦截发现路由都经过2次跳转 比如:当前在Home页,点击About菜单,拦截信息显示路由先从Home跳到About、又从About跳到Home。 点击子应用相关菜单: 路由同样跳转2次,最终跳到Home, 此时页面空白
https://micro-frontends.ice.work/docs/faq#%E5%AE%98%E6%96%B9-demo-%E5%A6%82%E4%BD%95%E5%90%AF%E7%94%A8-hashrouter 有没有和这个类似的vue版本的文档
@niuyajing 提供下主应用的 icestark 的配置,从表现上来看,似乎并没有匹配上微应用,而导致直接跳转至 fallback 路由了
就是官方demo的配置,history 模式就是正常的没有问题。在官方demo的基础上只做了上述修改 registerMicroApps([ { name: "waiter", activePath: "/waiter", title: "小二平台", sandbox: true, hashType: true, entry: "http://192.168.50.228:8081", container, }, ]);
@niuyajing 这里的配置是正常~ 给我们提个 demo 仓库好吗,我们复现下
https://github.com/nnnnyyy/icestark-demo/blob/master/main/src/App.vue#L51 应该是这一行代码影响的,在后面的版本中修复了这个问题,可以直接移除 onRoutechange 这个方法
另外,vue-router 设置为 hash 模式,好像不支持 base 的配置。则微应用的最外层的 routes 应该配置成:
import { getBasename, isInIcestark } from '@ice/stark-app'
const routerConfig = [
{
path: isInIcestark() ? getBasename() : "/",
component: BasicLayout,
children: [
{ path: '/', component: Home, exact: true },
{ path: '/list', component: List },
{ path: '/detail', component: Detail },
{
path: '*',
component: () => renderNotFound(),
},
],
},
];
Closing due to inactivity. Feel free to reopen or discuss further.
我尝试改了主应用的mode为hash,也为微应用设置 hashType 为 true,但是不行