零基础带你基于vue2架构搭建qiankun父子项目微前端架构

news2025/1/11 23:54:46

这里建议大家用 14版本左右的node版本

我们先创建一个目录 就叫qiankun

然后在终端打开 qiankun 目录

在终端输入指令

vue create vue-qiankun-base

创建一个叫 vue-qiankun-base的vue项目 版本大家先选择vue2
在这里插入图片描述
vue-qiankun-base项目将作为我们的基座

然后在终端输入

vue create vue-qiankun-app1

一样选择vue2的环境

vue-qiankun-app1作为子应用

然后我们用编辑器打开qiankun目录
在这里插入图片描述
这样 我们就看到了 我们的两个项目

然后我们右键 vue-qiankun-base(基座) 选择 在集成终端中打开

在这里插入图片描述
这样编辑器就会在终端打开我们的基座
在这里插入图片描述
我们要给基座项目引入qiankun依赖

npm i qiankun

在这里插入图片描述
这样我们乾坤的依赖就下来了

我们在子应用 vue-qiankun-app1 src目录下创建一个public-path.js

在这里插入图片描述
public-path.js参考代码如下

/*eslint disable no undef*/
// 上方这一行用于eslint的忽略,因为下方代码的指向其实是不存在的,在有eslint的环境中不加入此行会报错
if (window.__POWERED_BY_QIANKUN__) {
    __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
}

然后更改 vue-qiankun-app1子应用main.js 参开代码如下

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

let instance = null;
function render(props = {}) {
  const { container } = props;

  instance = new Vue({
    render: (h) => h(App),
  }).$mount(container ? container.querySelector('#app') : '#app');
}

// 独立运行时
if (!window.__POWERED_BY_QIANKUN__) {
  render();
}

export async function bootstrap() {
  console.log('[vue] vue app bootstraped');
}
export async function mount(props) {
  console.log('[vue] props from main framework', props);
  render(props);
}
export async function unmount() {
  instance.$destroy();
  instance.$el.innerHTML = '';
  instance = null;
}

然后更改 vue-qiankun-app1子应用 的 vue.config.js
参开代码如下

const { name } = require('./package');
module.exports = {
  devServer: {
    port: 82,
    headers: {
      'Access-Control-Allow-Origin': '*',
    },
  },
  configureWebpack: {
    output: {
      library: `${name}-[name]`,
      libraryTarget: 'umd', // 把微应用打包成 umd 库格式
    },
  },
};

此时 我们运行一下子应用

右键 vue-qiankun-app1 (子应用) 现在在终端打开 然后执行启动项目代码
在这里插入图片描述

npm run serve

在这里插入图片描述
可以看到 我们的端口确实变成了 82 将这个地址复制到浏览器上
在这里插入图片描述
子项目就跑起来了 没有任何问题

然后我们关掉项目

然后在 vue-qiankun-base主应用 main.js中 加入代码

import { registerMicroApps, start } from 'qiankun';
registerMicroApps([
  {
    name: 'app1',
    entry: '//localhost:82',
    container: '#app1',// 子应用的id
    activeRule: '/app1',
  },
]);
// 启动 qiankun
start();

我们这里设置子应用路由:activeRule是 app1 端口:entry监听的是//localhost:82
因为这两 我们设置了 子应用的挂载点是一个id为app1的节点 所以 我们要有这个节点

我们打开vue-qiankun-base主应用的根节点 App.vue
加入一块元素

<div id="app1"></div>

在这里插入图片描述
然后我们将子应用 vue-qiankun-app1项目运行起来

然后这时 我们来运行我们的基座项目 vue-qiankun-base

右键选择项目 然后点击在终端运行 输入npm run serve
在这里插入图片描述
然后在主应用vue-qiankun-base的运行端口访问 app1路由
在这里插入图片描述
我们最基本的父子应用嵌套就完成了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.3 手机验证码案例 - 生成验证码

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.3 手机验证码案例 - 生成验证码5.3.1 SpringBoot …

众焱公司网络平台建设-传输网的规划与设计

目 录 摘 要 I Abstract II 第一章 项目概述 1 1.1 项目目标 1 1.1.1 总体目标 1 1.1.2 阶段目标 1 1.2 设计原则 2 1.3总体拓扑图设计 3 第二章 应用分析 4 2.1 应用分类 4 2.1.1 应用系统总体框架 4 2.1.2 业务系统应用分类 5 2.1.3 信息管理系统应用分类 6 2.2 数据中心及分…

数据结构:栈和队列

栈是一种特殊的线性结构&#xff0c;只允许在栈顶进行进行插入和删除操作。 进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出&#xff08;先进后出&#xff09;LIFO&#xff08;Last In First Out&#xff09;的原则。 类比成将子…

小学生python游戏编程arcade----爆炸粒子类

小学生python游戏编程arcade----爆炸粒子类前言1.1 参数设置粒子加速下降的速度。如果不需要&#xff0c;则为0粒子退出的速度粒子移动的速度。范围为2.5<-->5&#xff0c;设置为2.5和2.5。每次爆炸有多少粒子粒子直径多大粒子颜色列表我们有可能将纹理翻转为白色&#x…

芒果改进YOLOv7系列:首发改进特征融合网络BiFPN结构,融合更多有效特征

💡统一使用 YOLOv7 代码框架,结合不同模块来构建不同的YOLO目标检测模型。文章目录 一、BiFPN论文理论部分代码部分YOLOv7+BiFPN在这篇文章中,将BiFPN结构加入到 YOLOv7 结构中 一、BiFPN论文理论部分 EfficientDet: Scalable and Efficient Object Detection BiFPN与P…

芯天下在创业板过会:预计全年收入将达到10亿元,净利润约2亿元

11月18日&#xff0c;深圳证券交易所创业板披露的信息显示&#xff0c;芯天下技术股份有限公司&#xff08;下称“芯天下”&#xff09;获得上市委会议通过&#xff0c;即IPO过会。据贝多财经了解&#xff0c;芯天下于2022年4月28日在创业板递交上市申请材料。 本次冲刺创业板上…

vins-mono初始化代码分析

大体流程 初始化主要分成2部分&#xff0c;第一部分是纯视觉SfM优化滑窗内的位姿&#xff0c;然后在融合IMU信息。 这部分代码在estimator::processImage()最后面。 主函数入口&#xff1a; void Estimator::processImage(const map<int, vector<pair<int, Eigen:…

maven大全(概述、maven安装配置、IDEA配置maven、IDEA创建maven项目并如何使用)

目录 一、概述 1.什么是maven&#xff1f; 2.maven有什么作用&#xff1f; &#xff08;1&#xff09;提供了一套标准化的项目结构 &#xff08;2&#xff09;提供了标准化的构建流程&#xff08;编译、测试、打包、发布&#xff09; &#xff08;3&#xff09;提供了一套…

Java -- 每日一问:后台服务出现明显“变慢”,谈谈你的诊断思路?

典型回答 首先&#xff0c;需要对这个问题进行更加清晰的定义: 服务是突然变慢还是长时间运行后观察到变慢&#xff1f;类似问题是否重复出现&#xff1f;“慢”的定义是什么&#xff0c;我能够理解是系统对其他方面的请求的反应延时变长吗? 第二&#xff0c;理清问题的症状…

【计算机考研必备常识】24考研你开始准备了吗?

前言 23考研只剩下一个多月了&#xff0c;准备 【24考研】 的小伙伴是否有一丝丝焦虑了呢&#xff1f; 对于考研相关的常识问题&#xff0c;你又是否有了解呢&#xff1f;考研全流程&#xff1f;计算机考研考什么&#xff1f;学硕和专硕怎么选 … 一系列考研相关的常识问题博…

JWT和token是什么?如何利用token进行身份验证?

什么是token&#xff1f;什么是JWT&#xff1f;如何基于token进行身份验证&#xff1f; 我们都知道session信息需要保存一份在服务器端。这种方式会带来一些麻烦&#xff0c;比如需要我们保证保存session信息服务器的可用性、不适合移动端等。 有没有一种不需要自己存放sessi…

五、DMSQL

五、数据类型与操作符和常用DMSQL语句 1、数据类型与操作符介绍 达梦数据库支持的数据类型有很多&#xff0c;具体如下&#xff1a; 其中&#xff1a; 常规数据类型 数值数据类型字符数据类型多媒体数据类型日期时间数据类型 一般日期时间类型时区数据类型时间间隔数据类型 B…

辰奕智能在创业板过会:计划募资约4亿元,约有五成来自境外

11月18日&#xff0c;深圳证券交易所创业板披露的信息显示&#xff0c;广东辰奕智能科技股份有限公司&#xff08;下称“辰奕智能”&#xff09;获得上市委会议通过&#xff0c;即IPO过会。据贝多财经了解&#xff0c;辰奕智能于2021年12月31日在创业板递交上市申请材料。 本次…

【论文阅读】社交网络传播最大化问题-01

问题定义&#xff1a;构建传播最大化模型&#xff08;最大化末态时的激活节点数量 &#xff09;& 确定最具影响力节点 思考问题&#xff1a; 影响节点影响力的因素&#xff1f;有向图和无向图的模型构建区别&#xff1f; 定义参数&#xff1a; 节点影响力的取值范围节点…

Thinkphp6.0.x反序列化漏洞复现

漏洞起点 起因: 在做 [安洵杯 2019]iamthinking 时发现是 thinkphp6 的反序列化&#xff0c;那么就去复现一下呗。 看了其他大佬的 wp&#xff0c;上面说 tp6 的反序列化漏洞的后半段利用和 tp5.2.x 是一样的&#xff0c;也就是 __toString 函数上。 第一步相信大家都知道&a…

USV合伙人反思FTX:应以更长远的眼光看待Web3

潜力博主推荐&#xff0c;点击上面关注博主 ↑↑ FTX的事件动摇了许多人的信心。那么&#xff0c;最大的加密货币交易所之一是如何迅速崩溃的&#xff1f;为什么加密世界的类似崩溃似乎一直在发生&#xff1f; 在这个时候&#xff0c;我们要对Web3整个行业&#xff0c;有一个更…

FA-PEG-N3,Folic acid-PEG-Azide,叶酸-聚乙二醇-叠氮一种叶酸PEG试剂

叶酸PEG试剂叶酸-聚乙二醇-叠氮&#xff0c;其英文名为Folic acid-PEG-Azide&#xff08;FA-PEG-N3&#xff09;&#xff0c;它所属分类为Azide PEG Folic acid&#xff08;FA&#xff09; PEG。 叶酸-PEG-叠氮的的分子量均可定制&#xff0c;有&#xff1a;FA-PEG-N3 5000、叶…

感受Vue (1) —— Hello world

虽然一直定位自己是个后端&#xff0c;但是我一直钟情于好看精致的界面&#xff0c;我觉得前端界面是门艺术并结合编程的美。爱美之心&#xff0c;人皆有之&#xff0c;不要怪我&#xff0c;也不能怪我。 vue 在前端框架中&#xff0c;世界范围内能排第三&#xff0c;也是很不简…

UE5笔记【零】快捷键

F&#xff1a;快速聚焦到所选中的对象。 Q&#xff1a;选择 W&#xff1a;移动、 E&#xff1a;旋转、 R&#xff1a;伸缩。 End&#xff1a;物体落在它下方的物体上。 组合键&#xff1a; 鼠标左键或者右键&#xff1a;E是跳跃&#xff0c;Q是蹲下。 Ctrl L:控制太阳高…

[附源码]SSM计算机毕业设计在线学习网站的设计与实现JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…