qiankun.js配置流程及使用过程中遇到的问题分享

本文分享了使用qiankun.js框架进行微前端重构的原因,详细介绍了主项目和子项目的配置过程,以及线上发布的注意事项。在实际操作中遇到了iconfont样式冲突和UI框架样式隔离的问题,解决方案包括为iconfont设置不同的前缀,以及利用babel修改子项目UI框架的class名以实现样式隔离。完整项目代码可在gitee上找到。
摘要由CSDN通过智能技术生成

# 为什么使用qiankun框架?

我们项目使用的初衷是为了解决一个后台项目的重构问题,因为项目太过庞大,vue2升级vue3选择了重构,希望可以两个项目并行操作,这也就是我们使用qiankun的理由吧。我想很大原因还是iframe有很大的局限性,导致很多人选择qiankun这种微前端框架吧。

主项目配置

这是我自己根据qiankun框架重新搭建了一个项目,公司的项目不适合放到这里。主项目和子项目都是根据react和webpack进行构建的 
import {} from "react-router-dom";
import {Outlet} from "react-router-dom";
import LeftMenu from './components/layout/LeftMenu';
import { Layout } from 'antd';
import { registerMicroApps, start } from 'qiankun';
import "./index.less";
const { Header, Footer, Sider, Content } = Layout;
export default () => {
    // qiankun框架初始化
  const initQiankunHandler = () => {
    registerMicroApps([
      {
        name: "op-first", // 名字
        entry: "//localhost:3000/", // 需要加载的本地地址,如果放到线上这块需要修改为子项目线上地址
        container: "#firstApp", // 子项目的容器,主项目这个id一定要定义好,不然子项目会没有容器而不显示
        activeRule: "/firstApp" // 这是子项目的路由,访问这种路由开头的时候会访问子项目
        /**
        activeRule: (location: Location) => {
              这里也可以放回一个布尔值告诉qiankun这是主项目路由还是子项目路由
            },
        */ 
      }
    ])
    start()
  }
  React.useEffect(() => {
    initQiankunHandler()
  }, [])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
qiankun 是一个基于微前端架构的前端解决方案,它可以帮助您将多个独立的前端应用整合成一个统一的应用。以下是在前端使用 qiankun 的基本步骤: 1. 安装 qiankun:您可以使用 npm 或者 yarn 安装 qiankun。 ```shell npm install qiankun ``` 2. 创建主应用:主应用是整个微前端系统的容器,负责管理子应用的加载和通信。您可以创建一个单独的项目作为主应用,或者将 qiankun 集成到现有的项目。 3. 注册子应用:在主应用,您需要注册子应用以便 qiankun 可以管理它们。注册子应用需要提供子应用的名称、入口 URL 和挂载点等信息。例如: ```javascript import { registerMicroApps, start } from 'qiankun'; registerMicroApps([ { name: 'app1', entry: '//localhost:8081', // 子应用的入口 URL container: '#app-container', // 子应用的挂载点 activeRule: '/app1', // 匹配子应用的路由规则 }, // 添加更多子应用... ]); start(); ``` 4. 创建子应用:每个子应用都是一个独立的前端应用,它们可以是使用不同框架或技术栈开发的。您需要创建子应用的项目,并确保它们可以独立运行。 5. 子应用配置:在子应用的配置,您需要导出一个 `mount` 函数,用于将子应用挂载到指定的挂载点上。例如: ```javascript export function mount(props) { // 将子应用挂载到指定的挂载点上 ReactDOM.render(<App />, props.container); } export function unmount() { // 卸载子应用 ReactDOM.unmountComponentAtNode(props.container); } ``` 6. 启动应用:启动主应用后,qiankun 将根据路由规则自动加载和卸载匹配的子应用。您可以在主应用的入口文件启动应用。 以上是 qiankun 在前端的基本使用步骤。请注意,这只是一个简单的示例,实际使用可能涉及更多的配置和细节。您可以参考 qiankun 的官方文档(https://qiankun.umijs.org/)了解更多详细信息和高级功能。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值