vue项目集成乾坤(qiankun)微前端

这篇具有很好参考价值的文章主要介绍了vue项目集成乾坤(qiankun)微前端。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集成乾坤微前端主应用:

1.安装

npm i qiankun -S
qiankun文档官方地址:https://qiankun.umijs.org/zh/guide

2.main.js中进行配置

import {registerMicroApps, start} from 'qiankun';
Vue.config.productionTip = false;
registerMicroApps([
{
    name: 'test-web', // app name registered
    entry: 'http://localhost:8081/', //项目地址
    container: '#test-web',//加载组件的控件id
    activeRule: '/test_web',
    sanbox: true //解决css冲突
  },
]);
//开启样式 主子应用样式隔离
start({sandbox: {experimentalStyleIsolation: true}});

3.配置路由

新建一个.vue文件

<template>
//此处id与container保持一致
<div id="test-web"></div>
</template>

配置路由地址文章来源地址https://www.toymoban.com/news/detail-447774.html

{
        path: '/test-web/*',
        name: 'test-web',
        component: () => import('@/views/test-web')
      },

4.将主应用路由模式设置为history模式

子应用中配置(子应用无需安装乾坤)

1.在src目录下增加public-path.js文件

if (window.__POWERED_BY_QIANKUN__) {
   // eslint-disable-next-line no-undef
   __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
 }

2.在main.js中写入生命周期函数

//引入public-path.js
import "./public-path";

 let instance = null;
 function render(props = {}) {
   const {container} = props;
   console.log(11111111111111, window.__POWERED_BY_QIANKUN__, '字段值')
   instance = new Vue({
     router,
     store,
     render: h => h(App),
   }).$mount(container ? container.querySelector('#app') : '#app', true); //开启沙箱
 }
 
 if (!window.__POWERED_BY_QIANKUN__) {
   console.log('独立运行')
   render();
 }
 
 
 function storeTest(props) {
   props.onGlobalStateChange &&
   props.onGlobalStateChange(
     (value, prev) => console.log(`[onGlobalStateChange - ${props.name}]:`, value, prev),
     true,
   );
   props.setGlobalState &&
   props.setGlobalState({
     ignore: props.name,
     user: {
       name: props.name,
     },
   });
 }
 
 
 export async function bootstrap() {
   console.log('111111111111 [vue] vue app bootstraped');
 }
 
 export async function mount(props) {
   console.log('11111111111 [vue] props from main framework', props);
   storeTest(props);
   render(props);
 }
 
 export async function unmount() {
   instance.$destroy();
   instance.$el.innerHTML = '';
   instance = null;
 }

3.在vue.config.js里面进行配置

 const {name} = require('./package');
 module.exports = {
   devServer: {
     headers: {
       'Access-Control-Allow-Origin': '*',
     },
   },
   // 自定义webpack配置
   configureWebpack: {
     output: {
       // 把子应用打包成 umd 库格式
       library: `${name}-[name]`,
       libraryTarget: 'umd',
       //脚手架5.0  jsonpFunction 改为 chunkLoadingGlobal
       jsonpFunction: `webpackJsonp_${name}`,
     },
   },
 }

4.修改router配置

 const routerConfig = {
   base: window.__POWERED_BY_QIANKUN__ ? '/test-web/' : '/',
   routes: []
 }

5.检查package.json中的name是否与主应用中注册的name一致

6.重启子应用,进行跳转

到了这里,关于vue项目集成乾坤(qiankun)微前端的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后台管理系统模板(已开源---显示项目页面截图)

    Wocwin-Admin,是基于 Vue3.2、TypeScript、Vite、Pinia、Element-Plus、Qiankun(微前端) 开源的一套后台管理模板;同时集成了微前端 qiankun也可以当做一个子应用。项目中组件页面使用了Element-plus 二次封装 t-ui-plus 组件,目前已新增fastmock接口。 Link:https://wocwin.github.io/wocwin-admin/ 账号:

    2024年02月08日
    浏览(48)
  • qiankun微服务怎么用,怎么实现集成react和vue

    Qiankun 是一个能够帮助开发者实现微前端的框架,它可以支持多种前端框架的混合开发,包括 React、Vue 等。下面我将详细介绍如何使用 Qiankun 实现集成 React 和 Vue。 Qiankun 是一个基于 Single-SPA 的微前端解决方案,它是由阿里巴巴前端团队开发的。Qiankun 提供了一套完整的微前端

    2024年02月13日
    浏览(32)
  • 【qiankun】微前端在项目中的具体使用

    在主应用的入口文件main.ts中,引入qiankun的注册方法: 创建一个数组,用于配置子应用的相关信息。每个子应用都需要提供一个名称、入口URL、挂载点和一些可选配置项。例如: 调用 registerMicroApps 方法,注册子应用: 调用 start 方法,启动qiankun微前端应用: 在主应用的根文

    2024年02月12日
    浏览(32)
  • vue前端项目集成emp

    背景 公司有多个产品线的项目,每个项目的功能有重叠的部分,平时开发维护量大,所以考虑将共性的功能抽取出单独的base项目,其它前端项目引用base项目的公共页面,达到提高工作效率的目的。 1. 整合步骤 1.1. 创建文件emp-config.js 1.2. 将文件vue.config.js中的内容拷贝到emp

    2024年02月13日
    浏览(25)
  • 微前端架构-qiankun在vue3的应用

    本文章介绍了qiankun在vue3的应用,其中子应用有vue2、vue3、react、angular qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 其他几款([single-spa]、[micro-app]、[百度emp]]) 使用 iframe 整合系统时,假设我们有系统 A, 当

    2023年04月08日
    浏览(27)
  • 微前端qiankun架构 (基于vue2实现)使用教程

    node -- 16+ @vue/cli -- 5+ 创建文件夹qiankun-test。 使用vue脚手架创建主应用main和子应用dev   安装 qiankun: 使用qiankun: 在 utils 内创建 微应用文件夹 microApp,在该文件夹内创建微应用出口文件 index.js,路由文件 microAppRouter,配置函数文件 microAppSetting。 路由文件 microAppRouter 配置函数文件

    2023年04月19日
    浏览(37)
  • 基于vue3+webpack5+qiankun实现微前端

    一 主应用改造(又称基座改造) 1 在主应用中安装qiankun(npm i qiankun -S)  2 在src下新建micro-app.js文件,用于存放所有子应用。  3 改造vue.config.js,允许跨域访问子应用页面  4 改造main.js   5 在App.vue中写响应跳转子应用(根据自己的项目找对应位置写,不局限于App.vue)   需要注

    2024年02月13日
    浏览(46)
  • 07. vue3+vite+qiankun搭建微应用前端框架,并接入vue3微应用

    因为业务系统接入的需要,决定将一个vue3+vite+ts的主应用系统,改造成基于qiankun的微应用架构。此文记录了改造的过程及vue3微应用接入的种种问题。 网上有很多关于微应用改造的案例,但很多都没写部署之后什么情况。写了部署的,没有实操部署在二级目录、三级目录是什

    2024年01月16日
    浏览(47)
  • 微前端使用qiankun实现,react主应用同时兼顾react,vue3,umi子应用

    理解 :我们可以简单理解为微前端是将一个项目拆分成多个模块,每个微前端模块可以由不同的团队进行管理,并可以自主选择框架,并且有自己的仓库,可以独立部署上线 应用场景 :1.当公司代码较老需要使用新的技术栈时我们可以使用微前端。2.多个团队同时开发时,每

    2024年02月09日
    浏览(49)
  • 微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用

    一、了解qiankun.js qiankun - qiankun 1.1、简单, 任意 js 框架均可使用。微应用接入像使用接入一个 iframe 系统一样简单,但实际不是 iframe。 1.2、完备, 几乎包含所有构建微前端系统时所需要的基本能力,如 样式隔离、js 沙箱、预加载等。解耦,与技术无关。 1.3、生产可用, 已

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包