qiankun官网:https://qiankun.umijs.org/zh/guide
注意:
qiankun属于无侵入性的微前端框架,对主应用基座和微应用的技术栈都没有要求。
构建主应用基座
我们先使用 vue-cli 生成一个 Vue 的项目,初始化主应用。
将普通的项目改造成 qiankun 主应用基座,需要进行三步操作:
- 创建微应用容器 - 用于承载微应用,渲染显示微应用;
- 注册微应用 - 设置微应用激活条件,微应用地址等等;
- 启动
qiankun;
创建微应用容器
我们先在主应用中创建微应用的承载容器,这个容器规定了微应用的显示区域,微应用将在该容器内渲染并显示。
我们先设置路由,路由文件规定了主应用自身的路由匹配规则,代码实现如下:
// micro-app-main/src/routes/index.ts
import Home from "@/pages/home/index.vue";
const routes = [
{
/**
* path: 路径为 / 时触发该路由规则
* name: 路由的 name 为 Home
* component: 触发路由时加载 `Home` 组件
*/
path: "/",
name: "Home",
component: Home,
},
];
export default routes;
// micro-app-main/src/main.ts
//...
import Vue from "vue";
import VueRouter from "vue-router";
import routes from "./routes";
/**
* 注册路由实例
* 即将开始监听 location 变化,触发路由规则
*/
const router = new VueRouter({
mode: "history",
routes,
});
// 创建 Vue 实例
// 该实例将挂载/渲染在 id 为 main-app 的节点上
new Vue({
router,
render: (h) => h(App),
}).$mount("#main-app");
从上面代码可以看出,我们设置了主应用的路由规则,设置了 Home 主页的路由匹配规则。
我们现在来设置主应用的布局,我们会有一个菜单和显示区域,代码实现如下:
// micro-app-main/src/App.vue
//...
export default class App extends Vue {
/**
* 菜单列表
* key: 唯一 Key 值
* title: 菜单标题
* path: 菜单对应的路径
*/
menus = [
{
key: "Home",
title: "主页",
path: "/",
},
];
}
上面的代码是我们对菜单配置的实现,我们还需要实现基座和微应用的显示区域(如下图)

micro-app
我们来分析一下上面的代码:
第 5 行:主应用菜单,用于渲染菜单;第 9 行:主应用渲染区。在触发主应用路由规则时(由路由配置表的$route.name判断),将渲染主应用的组件;第 10 行:微应用渲染区。在未触发主应用路由规

本文介绍了如何使用Qiankun框架构建无侵入式微前端主应用基座,包括创建微应用容器、注册微应用及其生命周期管理,以及如何接入和配置Vue微应用。详细步骤展示了从初始化主应用到微应用加载的全过程。
最低0.47元/天 解锁文章
3481

被折叠的 条评论
为什么被折叠?



