Vue+Microapp实现微前端的示例详解

 更新时间:2023年06月13日 09:37:22   作者:山水有轻音  
这篇文章主要为大家详细介绍了如何实现以vite+vue3+Microapp为主应用,以vue2+element为子应用的微前端,感兴趣的小伙伴快跟随小编一起学习一下吧

一、创建项目

1.  创建vite+vue3+Microapp主应用:

# 全局安装vite
npm install -g vite
# 指定目录,创建vite+vue3+Microapp主应用
cd your-project-directory
vite create my-microapp --template vue-ts

2.  创建vue2+element子应用:

# 全局安装vue-cli
npm install -g vue-cli
# 使用vue2-cli创建vue2+element子应用
vue create my-subapp

注意:子应用中应使用vue2来开发,因为vue2和vue3不兼容。

二、配置主应用

1.  安装micro-app:

yarn add micro-app

2.  修改App.vue:

<template>
  <div>
    <h1>Microapp - Vue3 Main</h1>
    <div style="display: flex;justify-content: space-between;">
      <div style="width: 196px;height: 800px;padding: 20px;background: #eee;">
        <router-link to="/">Home</router-link>
        <br>
        <router-link to="/about">About</router-link>
        <br>
        <div id="subapp-container"></div>
      </div>
      <router-view/>
    </div>
  </div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { registerMicroApps, start } from "micro-app";
@Component({})
export default class App extends Vue {
  mounted() {
    // 注册子应用
    registerMicroApps([
      {
        name: "subapp1",
        entry: "//localhost:3001",
        container: "#subapp-container",
        activePath: "/subapp",
      },
    ]);
    // 启动微前端
    start({ mode: "history" });
  }
}
</script>

三、配置子应用

1.  安装micro-app:

yarn add micro-app

2.  在main.js中注册子应用:

import { registerMicroApps, start } from "micro-app";
registerMicroApps([
  // 添加一个主应用地址,使子应用可以选择返回到主应用
  {
    name: "main-app",
    entry: "//localhost:3000",
    container: "#subapp-container",
    activePath: "/",
  },
]);
start();

四、启动项目

1.  启动vite+vue3+Microapp主应用:

cd my-microapp
yarn dev

2.  启动vue2+element子应用:

cd my-subapp
npm run serve

五、打包部署发布

1.  分别打包vite+vue3+Microapp主应用和vue2+element子应用:

cd my-microapp
yarn build
cd my-subapp
npm run build

2.  部署发布时,可以将vite+vue3+Microapp主应用和vue2+element子应用分别部署在不同的服务器上,并在主应用中配置子应用的地址,然后就可以访问微前端系统了。

注意:微前端应用部署后,要确保子应用的静态资源能够被正确加载。如果主应用和子应用使用域名不同,那么需要配置跨域地址。

到此这篇关于Vue+Microapp实现微前端的示例详解的文章就介绍到这了,更多相关Vue Microapp微前端内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue控制台警告Runtime directive used on component with non-element root node

    vue控制台警告Runtime directive used on compon

    这篇文章主要为大家介绍了vue控制台警告Runtime directive used on component with non-element root node解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue 详情跳转至列表页实现列表页缓存

    vue 详情跳转至列表页实现列表页缓存

    这篇文章主要介绍了vue 详情跳转至列表页实现列表页缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Vue 3 中使用 vue-router 进行导航与监听路由变化的操作

    Vue 3 中使用 vue-router 进行导航与监听路由变化的操作

    在Vue3中,通过useRouter和useRoute可以方便地实现页面导航和路由变化监听,useRouter允许进行页面跳转,而useRoute结合watch可以根据路由变化更新组件状态,这些功能为Vue3应用增加了灵活性和响应性,使得路由管理更加高效
    2024-09-09
  • Vue实现菜单切换功能

    Vue实现菜单切换功能

    这篇文章主要为大家详细介绍了Vue实现菜单切换功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • vue路由第二次进入页面created和mounted不执行问题及解决

    vue路由第二次进入页面created和mounted不执行问题及解决

    这篇文章主要介绍了vue路由第二次进入页面created和mounted不执行问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • spring-cloud-stream的手动消息确认问题

    spring-cloud-stream的手动消息确认问题

    这篇文章主要介绍了spring-cloud-stream的手动消息确认问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Vue实现动态圆环百分比进度条

    Vue实现动态圆环百分比进度条

    这篇文章主要为大家详细介绍了Vue实现动态圆环百分比进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Vue.js -- 过滤器使用总结

    Vue.js -- 过滤器使用总结

    本篇文章主要介绍了Vue.js -- 过滤器使用总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 组件库中使用 vue-i18n 国际化的案例详解

    组件库中使用 vue-i18n 国际化的案例详解

    这篇文章主要介绍了组件库中使用 vue-i18n 国际化,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • uniapp APP中内嵌webview的H5与APP相互通讯动态传参代码示例

    uniapp APP中内嵌webview的H5与APP相互通讯动态传参代码示例

    最近外部公司的app要接入我司的uni H5项目,所以这篇文章主要给大家介绍了关于uniapp APP中内嵌webview的H5与APP相互通讯动态传参的相关资料,需要的朋友可以参考下
    2024-04-04

最新评论