使用micro-app将现有项目改造成微前端,对现有项目实现增量升级

使用micro-app将现有项目改造成微前端,对现有项目实现增量升级

基座应用

1、安装依赖

npm i @micro-zoe/micro-app --save

2、在入口引入

//main.js
import microApp from '@micro-zoe/micro-app'

new Vue({
   
})
//在new Vue 下面执行
microApp.start()

3、新增一个vue页面文件,使用micro-app标签引入子应用

在项目建一个目录

<template>
  <div class="main">
    <!--
      设置默认页面
      子应用加载后会默认渲染首页,但我们常常希望子应用加载后渲染指定的页面,此时可以设置defaultPage指定子应用渲染的页面
      https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/router?id=%e8%ae%be%e7%bd%ae%e9%bb%98%e8%ae%a4%e9%a1%b5%e9%9d%a2
     -->
    <micro-app name="dashboards" url="http://aaaa-dev.aaaa.cn/child/vue3/index.html" default-page="/child/vue3/index.html#/algorithm/cpcDataReportOnlyId" />
  </div>
</template>
<script>

</script>
<style lang="scss">
</style>

4、分配一个路由给子应用

既然是基于现有系统改造,那系统当然支持新增菜单。

就是给上一个步骤的文件添加路由,就是你新增页面当然要新增路由一样的

1、添加一级菜单

在这里插入图片描述

2、添加二级菜单

在这里插入图片描述

3、加完vue代码,这个菜单就可以复用了哦

在这里插入图片描述

5、配置部署打包

基座应用不用动,原来是这个dist就是dist不用动

publicPath: '/',
outputDir: 'dist',

子应用

1、vue.config.js

添加headers

headers: {
   
"Access-Control-Allow-Origin": "*",
},

2、router.js

const router = new Router({
   
  base: window.__MICRO_APP_BASE_ROUTE__ || process.env.BASE_URL, //添加base
})

3、main.js

我没有引入 import ‘./utils/public-path’,也没新增 public-path这个文件

new Vue({
   })
改成
const app = new Vue({
   
})

//const app = new Vue({}) 下面添加下面的代码
// 监听卸载操作
window.addEventListener('unmount', function() {
   
  app.$destroy()
})

4、注释子应用的耦合代码

将子应用的菜单、导航栏什么的注释掉就可以了

5、vue.config.js

修改子应用打包后地址

  publicPath: '/',
  outputDir: 'dist',
  
  改成下面的\|/
  
  outputDir: 'vue3',
  publicPath: '/child/vue3/',

6、.gitignore

加个不上传的目录

vue3/

相关推荐

  1. 【Spring】SpringMVC项目升级SpringBoot实践

    2024-01-17 09:54:04       76 阅读
  2. Android Studio导入现有项目的方法

    2024-01-17 09:54:04       56 阅读
  3. 前端micro-app 子应用 调用父应用方法

    2024-01-17 09:54:04       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 09:54:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 09:54:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 09:54:04       82 阅读
  4. Python语言-面向对象

    2024-01-17 09:54:04       91 阅读

热门阅读

  1. 快速了解spring boot中的@idempotent注解

    2024-01-17 09:54:04       50 阅读
  2. GPT实战系列-实战Qwen在Cuda 12+24G部署方案

    2024-01-17 09:54:04       52 阅读
  3. 【Leetcode】454. 四数相加 II

    2024-01-17 09:54:04       52 阅读
  4. TensorFlow

    2024-01-17 09:54:04       64 阅读
  5. Linux内核--网络协议栈(二)整体介绍

    2024-01-17 09:54:04       42 阅读
  6. 使用ShopifySharp实现Shopify超简单对接(C#)

    2024-01-17 09:54:04       52 阅读
  7. Git 提交前缀规范

    2024-01-17 09:54:04       56 阅读
  8. Redis学习指南(9)--Redis的列表类型介绍

    2024-01-17 09:54:04       56 阅读
  9. 安装 jupyter 运行python代码教程分享

    2024-01-17 09:54:04       60 阅读