Ant-Design-Pro使用QianKun微前端最佳实践

前提:

做项目时偶然了解到微前端的概念,在详细了解后觉得对分解【巨石】应用有很大的帮助,查阅了一些文档和资料后自己整了一套,以备后用~

GitHub代码地址:

Ant-Design-Pro使用QianKun微前端最佳实践icon-default.png?t=M5H6https://github.com/IversonTian/Ant-Design-Pro-QianKun

文档资料:

QianKun官网https://qiankun.umijs.org/zhUmi JS v4关于QianKun的使用说明https://umijs.org/docs/max/micro-frontendAnt Design Pro🏆 让中后台开发更简单 包含 table form 等多个组件。https://pro.ant.design/zh-CN/docs/getting-started详解Ant-Design-Pro使用QianKun微服务目录主应用配置子应用配置微服务现在挺火的,优点也很明显如果有多个应用都有相同页面时,就可以使用微服务,可以避免重复写代码在网上搜了下,很多例子都是基于官方文档的例子,官方文档:https://umij...http://www.cppcns.com/wangluo/javascript/465532.html废话不多说,直接开始~~~

1、根据Ant-Design-Pro文档中的开始使用快速初始化 2个(一个主项目一个子项目)Ant-Design-Pro项目

Ant-Design-Prohttps://pro.ant.design/zh-CN/docs/getting-started

2、重命名生成的文件:

Ant-Design-Pro-Main

Ant-Design-Pro-SubAppA

3、主应用和子应用都要安装qiankun插件:

yarn add @umijs/plugin-qiankun -D

4、修改主应用的启动端口为9000,子应用的启动端口为9001 (可以自行配置,后面对应修改就行)

如何修改启动端口?

在项目的根目录添加.env文件并配置其端口地址

 

主应用(Ant-Design-Pro-Main)配置

1、config.ts配置:

2、app.tsx配置:

注:这个entry,就是子应用的地址,可以写成变量形式,区分本地和线上环境~

 

 3、修改document.ejs文件,可以解决页面一直加载问题:

<div id="<%= context.config.mountElementId %>">

4、修改routes.ts文件:

 5、配置proxy.tx接口代理:

注:因为在主应用,请求的地址是主应用的,要代理回子应用的请求地址,如果已经有类似/api这种前缀,要注意主应用和子应用区分,不要用相同的前缀~

 子应用(Ant-Design-Pro-SubAppA)配置

1、config.ts配置:

2、app.tsx配置:

注:子应用可以通过生命周期函数拿到主应用传递的参数。如果子应用本身是有菜单、面包屑等,应该要区别设置,在子应用不显示,否则会重复显示~

 

3、routes.ts文件:(正常配置就可以)

4、proxy.ts文件:

 

分别启动主子应用:

 npm run start

 

 项目实际可能需要解决的问题

1、子应用运行时,会自动添加前缀因为qiankun框架的代码切割,子应用运行时会根据package.json里的name加入一个前缀。如果不想要可以在config.ts里配置base: '/'。

2、 子应用路由匹配问题:

为了主应用的路由地址和子应用一致,配置路由时microAppProps的base传了''这样会导致子应用页面加载错误或登录态失效时,页面显示404页面。因为现在是精确的路由匹配,没有登录会重定向到登录页,这样就会找不到页面。一般设置好登录态不会有这个问题,不过想要完善点可以写上错误路由跳转到登录页面或者提示刷新页面等~

---------------------------------------------------------------------------------------------------------------------------------

如果遇到跟着文档配置,项目启动报错问题,可能是项目运行问题,可以尝试重启,删包重装

在加入qiankun组件前,可以备份代码,配置运行好后再加入代码中,以免出现运行报错代码又恢复不了情况o(╯□╰)o

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值