跳到主要内容

vite-vue3-JSEntry-System

一、认识


1.1 SystemJs

SystemJs是一个通用的模块加载器,有属于自己的模块化规范。他能在浏览器和node环境上动态加载模块,微前端的核心就是加载子应用,因此将子应用打包成模块,在浏览器中通过SystemJs来加载模块。SystemJS可兼容到IE11,但是它对于插件版本要求非常严格,而且变化非常大,兼容性也不是特别好,使用体验也不是很好,所以目前实践中用的非常少。它同样支持import映射,但是它的语法稍有不同。

二、实现


2.1 single-spa-config.js

import { registerApplication, start } from "single-spa";

registerApplication({
name: "@vue-mf/navbar",
app: () => System.import("@vue-mf/navbar"),
activeWhen: "/",
customProps: {
githubLink: "https://github.com/vue-microfrontends/root-config",
},
});

registerApplication({
name: "@vue-mf/dogs-dashboard",
app: () => System.import("@vue-mf/dogs-dashboard"),
activeWhen: "/view-doggos",
});

registerApplication({
name: "@vue-mf/rate-dogs",
app: () => System.import("@vue-mf/rate-dogs"),
activeWhen: "/rate-doggos",
});

start();