主项目也子项目都是vue
写的。
业务需求是一个主项目中某些页面中需要显示子项目页面。
子项目页面是通过接口获取到需要显示那个应用下的url地址
主应用我是用history
子全部是hash
子的路径添加了应用名 比如说全路径是localhost:10000/main#/app/xxx
/xxx是子路径,但是我拼接了/app来区分应用。。
引用代码。
app.microApp = loadMicroApp({
name: app.name,
entry: app.entry,
container: '#frame',
activeRule: getActiveRule('#/' + app.name),
props: {
mode: 'qiankun',
auth
}
})
一个加载子应用的时机问题
我现在用loadMicroApp
可以加载但是有时候返回页面然后再进入这个页面挂在的dom有时候会显示子应用页面,有时候不会显示,但是子应用接口会请求。那么应该是没有全卸载。只是挂载的dom错误。
container
指定的dom 必须要挂在到dom上面才行吧。
进去子项目后可能子项目会进行跳转,主项目中某些页面里面的一个div挂载的子项目。 然后点主项目中的返回也就是router.back()
那么他是返回的子项目(子项目中可能进行了路由跳转),这种主要返回的话是否必须要缓存主项目中的路径历史。
主项目中多个页面地方需要使用子应用。这种怎么写比较好。
打包publicPath: '/app/'
子应用打包使用的相对路径/app
非绝对路径http:xxx/app
(不让用绝对路径打包。。)
这样打包好像可能某些js资源请求地址可能错误,如果说资源地址有可能问题的话,那么需要怎么解决呢。
有没有交流群啊。