Coexisting Vue Microfrontends 项目教程

Coexisting Vue Microfrontends 项目教程

coexisting-vue-microfrontends项目地址:https://gitcode.com/gh_mirrors/co/coexisting-vue-microfrontends

1. 项目的目录结构及介绍

coexisting-vue-microfrontends/
├── app1/
│   ├── public/
│   ├── src/
│   ├── package.json
│   ├── vue.config.js
│   └── ...
├── app2/
│   ├── public/
│   ├── src/
│   ├── package.json
│   ├── vue.config.js
│   └── ...
├── navbar/
│   ├── public/
│   ├── src/
│   ├── package.json
│   ├── vue.config.js
│   └── ...
├── root-html-file/
│   ├── index.html
│   ├── package.json
│   └── ...
├── .gitignore
├── LICENSE
├── Makefile
└── README.md

目录结构介绍

  • app1/app2/: 这两个目录分别包含两个独立的 Vue 应用,每个应用都有自己的 public/src/ 目录,以及 package.jsonvue.config.js 配置文件。
  • navbar/: 这个目录包含一个导航栏组件,它也是一个独立的 Vue 应用。
  • root-html-file/: 这个目录包含根 HTML 文件和相关的配置文件,用于加载和协调各个微前端应用。
  • .gitignore: Git 忽略文件。
  • LICENSE: 项目许可证。
  • Makefile: 用于构建和部署的 Makefile 文件。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

root-html-file/index.html

这是项目的根 HTML 文件,负责加载和初始化各个微前端应用。文件内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Coexisting Vue Microfrontends</title>
</head>
<body>
  <script src="https://unpkg.com/single-spa@5.9.0/lib/system/single-spa.min.js"></script>
  <script type="systemjs-importmap">
    {
      "imports": {
        "@vue-mf/root-config": "//localhost:9000/vue-mf-root-config.js",
        "@vue-mf/navbar": "//localhost:8080/js/app.js",
        "@vue-mf/app1": "//localhost:8081/js/app.js",
        "@vue-mf/app2": "//localhost:8082/js/app.js"
      }
    }
  </script>
  <script src="https://cdn.jsdelivr.net/npm/import-map-overrides@2.0.0/dist/import-map-overrides.js"></script>
  <script>
    singleSpa.registerApplication('@vue-mf/navbar', () => System.import('@vue-mf/navbar'), location => true);
    singleSpa.registerApplication('@vue-mf/app1', () => System.import('@vue-mf/app1'), location => true);
    singleSpa.registerApplication('@vue-mf/app2', () => System.import('@vue-mf/app2'), location => true);
    singleSpa.start();
  </script>
</body>
</html>

app1/src/main.js

这是 app1 应用的入口文件,负责初始化 Vue 应用。文件内容如下:

import Vue from 'vue';
import singleSpaVue from 'single-spa-vue';
import App from './App.vue';

const vueLifecycles = singleSpaVue({
  Vue,
  appOptions: {
    el: '#vue-app1',
    render: h => h(App)
  }
});

export const bootstrap = vueLifecycles.bootstrap;
export const mount = vueLifecycles.mount;
export const unmount = vueLifecycles.unmount;

app2/src/main.js

这是 app2 应用的入口

coexisting-vue-microfrontends项目地址:https://gitcode.com/gh_mirrors/co/coexisting-vue-microfrontends

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

褚知茉Jade

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值