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

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,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值