码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    [附源码]计算机毕业设计JAVA剧本杀门店管理系统-
    java-php-net-python-校园后勤计算机毕业设计程序
    如何检查域名解析是否生效
    数据湖(十二):Spark3.1.2与Iceberg0.12.1整合
    Springboot 集成 MongoDB
    allegro中shape的一些基本操作(一)——添加和修改shape
    Windows10出现WIFI蓝牙图标消失,网卡驱动出现感叹号等无法上网的情况解决方案
    Linux入门攻坚——3、基础命令学习-文件管理、别名、glob、重定向、管道、用户及组管理、权限管理
    ASPICE项目实战
    【Python】jupyter lab虚拟环境选择错误
  • 原文地址:https://blog.csdn.net/Iversons/article/details/125599974
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号