欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 微前端qiankun的基本使用(vue-element-admin作为项目模版)

微前端qiankun的基本使用(vue-element-admin作为项目模版)

2025/2/24 13:19:31 来源:https://blog.csdn.net/Vanilla1119/article/details/145307908  浏览:    关键词:微前端qiankun的基本使用(vue-element-admin作为项目模版)

微前端qiankun的基本使用(vue-element-admin作为项目模版)

  • qiankun架构特点
  • 主应用netmoni_master改造
    • 工程项目目录结构
    • 子项目配置:子应用注册
    • 配置项container:子应用挂载节点
    • 配置项activeRule:子应用路由
  • 子应用netmoni_child1改造
    • 目录结构
    • 项目配置:src/settings中配置子应用
    • 项目配置:main.js中接入
    • 项目配置:public-path.js
    • 项目配置:router/index.js
    • 项目配置:vue.config.js

qiankun架构特点

  • 技术栈无关
  • 主框架不限制接入应用的技术栈,微应用具备完全自主权
  • 独立开发、独立部署
  • 增量升级
  • 利于实施渐进式重构
  • 微应用仓库独立,前后端可独立开发,主框架自动完成同步更新
  • 微应用独立运行
  • 微应用之间状态隔离,运行时状态不共享
  • 劣势:接入难度高、移动端少,管理端多

主应用netmoni_master改造

工程项目目录结构

├── build                      # 构建相关
├── mock                       # 项目mock 模拟数据
├── public                     # 静态资源
│   │── favicon.ico            # favicon图标
│   └── index.html             # html模板
├── src                        # 源代码
│   ├── api                    # 所有请求
│   ├── assets                 # 图片等静态资源
│   ├── components             # 全局公用组件
│   ├── icons                  # 项目所有 svg icons
│   ├── layout                 # 全局 layout
│   ├── micro  (重点)         # qiankun微前端配置
│   ├── router (重点)         # 路由
│   ├── store                  # 全局 store管理
│   ├── styles                 # 全局 主题(白天/黑夜)样式
│   ├── utils                  # 全局公用方法
│   ├── views                  # views 所有页面
│   ├── App.vue                # 入口页面
│   ├── main.js                # 入口文件 加载组件 初始化等
│   ├── permission.js          # 权限管理
│   └── settings.js  (重点)   # 项目配置
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置项
├── .babelrc                   # babel-loader 配置
├── .travis.yml                # 自动化CI配置
├── vue.config.js              # vue-cli 配置
├── postcss.config.js          # postcss 配置
└── package.json               # package.json

子项目配置:子应用注册

注意上述目录中重点标注的几个目录,其中子项目配置文件:
src/micro/app.js

const arr = window.origin.split(':')
const origin = arr[0] + ':' + arr[1]export function getApps(){return [/*** name: 微应用名称 - 具有唯一性* entry: 微应用入口 - 通过该地址加载微应用,注意与对应子应用配置保持一致* container: 微应用挂载节点 - 微应用加载完成后将挂载在该节点上* activeRule: 微应用触发的路由规则 - 触发路由规则后将加载该微应用*/{name: 'netmoni_child1',entry: origin + ':31325',container: '#child1_frame',activeRule: '/sub/child1'//路由模式mode对应是history}]
}

启动文件:src/micro/index.js

mport {registerMicroApps, // 注册子应用方法addGlobalUncaughtErrorHandler, // 添加全局未捕获异常处理器start // 启动qiankun
} from 'qiankun'// 获取子应用信息
import { getApps } from './app'export function startMicroApps() {// 注册微前端const apps = getApps()console.log('startMicroApps', apps)registerMicroApps(apps, 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词