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();