乾坤qiankun的使用

article/2025/7/4 11:34:17

vue2 为主应用 react 为子应用

在项目中安装乾坤

yarn add qiankun # 或者 npm i qiankun -S

vue主应用

在main.js中新增 (需要注意的是路由模型为history模式)

registerMicroApps([{name: 'reactApp',entry: '//localhost:3011',container: '#container',//主应用挂在子应用的容器id名称activeRule: '/app-react',//主应用挂在子应用的路由名称},{name: 'vueApp',entry: '//localhost:8080',container: '#container',activeRule: '/app-vue',},
]);

react 子应用:

修改 index.js文件

	import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import { HashRouter  } from 'react-router-dom';
function render(props) {const { container } = props;// console.log('====================================');console.log(container);console.log('====================================');// container 存在 说明是作为子应用运行 不存在则是独立运行const root = ReactDOM.createRoot(container ? container.querySelector('#appRoot') : document.getElementById('appRoot'));//需要注意的是 appRoot 和 public目录下index.html 中div的id名称保持一致root.render(<HashRouter ><App /></HashRouter>
);
}// 如果是独立运行
if (!window.__POWERED_BY_QIANKUN__) {render({});
}export async function bootstrap() {console.log('react app bootstraped');
}export async function mount(props) {console.log('react app mounted', props);render(props);
}export async function unmount(props) {const { container } = props;const root = ReactDOM.createRoot(container ? container.querySelector('#root') : document.getElementById('root'));root.unmount();
}

修改webpack配置,安装craco

yarn add react-app-rewired 或 npm i -D react-app-rewired

根目录下新增 config-overrides.js文件

const { name } = require('./package');module.exports = {webpack: (config) => {config.output.library = `${name}-[name]`;config.output.libraryTarget = 'umd';// config.output.jsonpFunction = `webpackJsonp_${name}`;config.output.globalObject = 'window';return config;},devServer: (_) => {const config = _;config.headers = {'Access-Control-Allow-Origin': '*',};config.historyApiFallback = true;config.hot = false;config.watchContentBase = false;config.liveReload = false;return config;},
};

修改package.json文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里端口号需要和子应用挂在的端口号保持一致

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如在主应用在挂在子应用时遇到

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

需要再子应用 package.json 中 eslintConfig 中新增

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

[外链图片转存中…(img-5Wnjp92F-1748775941845)]

需要再子应用 package.json 中 eslintConfig 中新增

[外链图片转存中…(img-YZw30X77-1748775941845)]

参考链接 React 18 配置 QianKun:主应用【React 18】+ 微应用【React 18】前端技能提升 react - 掘金


http://www.hkcw.cn/article/ikKQvsUCDo.shtml

相关文章

FreeRTOS实时操作系统学习笔记

一 RTOS入门 1.1 裸机与RTOS介绍&#xff08;了解&#xff09; 裸机编程是指在嵌入式系统中&#xff0c;直接在硬件上运行代码&#xff0c;没有操作系统的支持。这种方式下&#xff0c;开发者需要完全掌握硬件资源&#xff0c;包括时钟、中断、外设等。任务调度和资源管理都由…

MCP还是A2A?AI未来技术选型深度对比分析报告

引言 MCP&#xff08;Multi-Core Processor&#xff09;与A2A&#xff08;Asynchronous to Asynchronous&#xff09;分别代表了计算架构发展中的两种重要范式。前者延续传统冯诺依曼体系的并行优化路径&#xff0c;后者则试图突破同步时钟的物理限制。理解二者的本质差异&…

逐步检索增强推理的跨知识库路由学习

摘要 多模态检索增强生成&#xff08;MRAG&#xff09;在多模态大语言模型&#xff08;MLLM&#xff09;中通过在生成过程中结合外部知识来减轻幻觉的发生&#xff0c;已经显示出了良好的前景。现有的MRAG方法通常采用静态检索流水线&#xff0c;该流水线从多个知识库&#xff…

OpenRouter使用指南

OpenRouter 是一个专注于大模型&#xff08;LLM&#xff09;API 聚合和路由的服务平台&#xff0c;旨在帮助开发者便捷地访问多种主流大语言模型&#xff08;如 GPT-4、Claude、Llama 等&#xff09;&#xff0c;并提供统一的接口、成本优化和智能路由功能。以下是它的核心功能…

【Linux】权限chmod命令+Linux终端常用快捷键

目录 linux中权限表示形式 解析标识符 权限的数字序号 添加权限命令chmod 使用数字表示法设置权限 使用符号表示法设置权限 linux终端常用快捷键 &#x1f525;个人主页 &#x1f525; &#x1f608;所属专栏&#x1f608; 在 Linux 系统里&#xff0c;权限管理是保障系…

2018ToG | 可逆的灰度图像

写在前面&#xff1a;这篇论文是比较早期的论文了&#xff0c;但由于本人是第一次见到该方向的相关研究&#xff0c;所以觉得比较新奇。本文用以梳理这篇论文的阅读思路&#xff0c;文末附上了一些个人思考。 0. Abstract 一旦彩色图像被转换为灰度图像&#xff0c;普遍认为即…

Python打卡训练营Day43

DAY 43 复习日 作业&#xff1a; kaggle找到一个图像数据集&#xff0c;用cnn网络进行训练并且用grad-cam做可视化 数据集地址&#xff1a;Lung Nodule Malignancy 肺结核良恶性判断 进阶&#xff1a;并拆分成多个文件 import os import pandas as pd import numpy as np from…

mem0ai/mem0 v0.1.102版本全面升级,解锁多项前沿功能与文档优化!

大家好&#xff01;今天我们为大家带来mem0ai/mem0项目的重大版本更新——v0.1.102&#xff01;本次更新不仅带来了全新的功能扩展&#xff0c;更对项目的文档体系进行了深度优化&#xff0c;提升了整体用户体验和集成便捷性。无论你是mem0ai/mem0的忠实用户&#xff0c;还是刚…

导入典籍数据

1.从网上获取中医相关典籍数据&#xff0c;数目共600txt&#xff0c;总篇数14万 2.数据处理 获取到的数据结构大致如下 一个txt表示一本书&#xff0c;开头存有书籍相关的名字&#xff0c;作者&#xff0c;朝代&#xff0c;年份&#xff0c;之后每一个<目录>下都跟有一…

状态机实现文件单词统计

系统如何查找可执行文件 默认&#xff1a;在PATH路径下寻找文件文件下 执行当前目录下文件&#xff1a; ./&#xff1a;指定文件目录是当前目录 ./count:执行当前目录文件 编译.c文件为运行文件 gcc -o count 0voice.c #将0voice.c编译为名字count 为什么主函数要那么写&a…

[面试精选] 0021. 合并两个有序链表

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 2. 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的…

【C++】内存管理

C/C内存分布 1.栈又叫堆栈–非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长的。 2.内存映射段是高效的I/O映射方式&#xff0c;用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存&#xff0c;做进程间通信。 3.堆用于程序运行时动态内存分配&am…

基于javaweb的SpringBoot爱游旅行平台设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

ubuntu系统扩容

使用gparted工具扩容 安装方法&#xff1a; sudo apt-get update sudo apt-get install gparted 运行gparted&#xff0c;进行分区扩容 sudo gparted 打开软件后&#xff0c;先点击弹出窗口中的ok&#xff0c;若无弹出窗口&#xff0c;则无需点击。 点击右侧的下拉按钮 点…

计算机组成原理-计算机硬件的主要技术指标

机器字长 CPU一次能处理数据的位数&#xff0c;与CPU中的寄存器位数有关 运算速度 主频 核数&#xff0c;每个核支持的线程数 吉普森法&#xff1a;Tm ,根据指令集中每条指令的执行频率对指令集中所有指令的执行时间做加权平均。其中fi根据是否在程序运行时测量&#xff…

【TMS570LC4357】之相关驱动开发学习记录1

系列文章目录 【TMS570LC4357】之工程创建 【TMS570LC4357】之工程配置修改 【TMS570LC4357】之HALCOGEN使用 【TMS570LC4357】之相关问题及解决 ——————————————————— 前言 记录笔者在第一次使用TMS570过程中对外设驱动的一些学习碎片。 1. RTI 1.1 添…

多智能体在具身智能上的研究

在关于大模型的认知升级-CSDN博客中&#xff0c;我们提到大模型的终局是具身智能。那么&#xff0c;本文我们就来看看多智能体在具身智能上有了哪些应用。 Manus发布一天后迅速出现OpenManus、OWL等复刻项目。为什么可以这么快的复刻项目&#xff1f;其实&#xff0c;多智能体…

【HW系列】—安全设备介绍(开源蜜罐的安装以及使用指南)

文章目录 蜜罐1. 什么是蜜罐&#xff1f;2. 开源蜜罐搭建与使用3. HFish 开源蜜罐详解安装步骤使用指南关闭方法 总结 蜜罐 1. 什么是蜜罐&#xff1f; 蜜罐&#xff08;Honeypot&#xff09;是一种主动防御技术&#xff0c;通过模拟存在漏洞的系统或服务&#xff08;如数据库…

打卡day43

DAY 43 复习日 作业&#xff1a; kaggle找到一个图像数据集&#xff0c;用cnn网络进行训练并且用grad-cam做可视化 进阶&#xff1a;并拆分成多个文件 数据集来源水母图像数据集 --- Jellyfish Image Dataset&#xff0c;对水母图片进行分类&#xff0c;共6个类别。 模型训…

20250602在荣品的PRO-RK3566开发板的Android13下打开HDMI显示

20250602在荣品的PRO-RK3566开发板的Android13下打开HDMI显示 2025/6/2 16:20 缘起&#xff1a;貌似荣品的PRO-RK3566开发板的Android13默认关闭了HDMI显示。 据说&#xff1a;荣品确认RK3566的GPU比较弱&#xff0c;同时开【MIPI接口的】LCD屏显示和HDMI显示容易出现异常。 更…