# qiankun_admin **Repository Path**: Onces/qiankun_admin ## Basic Information - **Project Name**: qiankun_admin - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Qiankun Admin

##### 各位朋友好,基于qiankun开发的Single SPA来啦! > ​ 由于工作需要,设计了这套系统,主系统仍然基于Ant Design Pro Vue,在此之上支持了React, Vue, Jquery等常见框架设计的子系统,路由采用了hash,这也是很多种小型公司常用的路由模式,history则模式根据qiankun官网配置即可 ###### 该系统解决了如下问题: 1.主应用无法使用hsah,(主,子应用同时使用hash报错) 2.子应用懒加载 3.同主应用左侧菜单可以绑定子应用的多个路由 4.普通html页面接入hash主系统 5.整理出Vue demo, React Demo, Jq Demo 6.完善的说明文档 7.webpack解决跨域问题:react,vue devServer配置headers实现跨域,jq只能自己改服务器了(vsCode live server自带跨域支持) 8.权限管理 9.react作为子应用路由切换不了(升级router到6) ###### 问题总结以及解决方案 ​ 1.如果子应用使用hash模式,activeRule需要写上完整url,比如:/#/a/b ​ 2.entry写成子应用根目录就行了,例如://localhost:3000 ​ 3.activeRule支持数组,对应子应用的多个路由 ​ 4.经过测试,只有一子应用时,如果主/子应用如果路由一致,可以activeRule: ""(目前测试中发现hash下必须路由一致) ​ 5.经测试,react项目使用react-router v5, hash模式下点击左侧菜单子应用页面不跳转(虽然路由有变化),切换到react-router 6.0.0-alpha.5可以了 6.经过测试,传统jq项目想要接入的话每一个页面要建立一个单独的子应用,例如master/main.js示例中的qiankunsubjq,和qiankunsubjq2 7.主应用build完成后启动url,地址可能会变成http://127.0.0.1:5503/index.html#/sub-react/p4,这样就不能识别子应用了,需要把url改成http://127.0.0.1:5503/#/sub-react/p4,也就是去掉index.html才行 5.引入图片的路径:把webpack的publicPath规定成绝对路径就行了,例如:publicPath:"/",改成publicPath:"http://127.0.0.1:5503" 8.entry是否可以为./的形式(不可以,必须是绝对路径) 10.不要history,hash混用,主/子应用要用同一种路由模式 11.react 懒加载报找不到chunk.js,所以在webpack中把改成 publicPath = isEnvProduction ? paths.servedPath : isEnvDevelopment && '//localhost:3000/'; 文件位置搜索:TODO:为了微前端而把端口写死3000即可 ###### BUGS: 1.setDefaultMountApp('/#/sub-vue/p1') 目前不管用
       
你的支持就是我最大的动力                可怜可怜吧,实在不行扫个红包也行啊o(╥﹏╥)o