快速上手微前端框架 icestark (一)

简介: 微前端本质和后端微服务理念是一样的,微前端解决方案一般包含如下特点:• 在保证一个系统的操作体验基础上,实现各个微应用的独立开发和发版• 不同子应用统一管理• 提供应用间互相通信,跳转页面切换的能力

886eb78f5518687c61ec2b2841ca5749.jpg


思考


微前端设计理念是什么? 解决了什么问题?


微前端本质和后端微服务理念是一样的,微前端解决方案一般包含如下特点


  • 在保证一个系统的操作体验基础上,实现各个微应用的独立开发和发版
  • 不同子应用统一管理
  • 提供应用间互相通信,跳转页面切换的能力


icestark 主应用初始化


初始化 Vue 主应用

npm init ice icestark-layout @vue-materials/icestark-layout-app


初始化 React 主应用

npm init ice icestark-layout @icedesign/stark-layout-scaffold


本地实例初始化的 Vue 主应用,运行如下

cd icestark-layout
npm install
# 注意 Vue 主应用运行 `dev`
npm run dev
# React 主应用运行 `start`
npm run start


本地地址:http://localhost:3000

image.gif035c88a5131931687ecc1a85dc165715.png

本地运行的官方主应用Demo,已经整合了官方提供的 Vue,React 子应用,接下来本地创建子应用,运行后分别挂在到本地启动的主应用中


创建 icestark 子应用


Vue 子应用

npm init ice icestark-child-vue @vue-materials/icestark-child-app

运行 Vue 子应用


cd icestark-child-vue
npm i
npm run dev


本地地址:http://localhost:3001

image.giffbb3eb7f943a9fa3872df04b0be2a278.png


React 子应用

npm init ice icestark-child @icedesign/stark-child-scaffold

运行 React 子应用


cd icestark-child
npm i
npm run start


本地地址:http://localhost:3333

6b93dcaff8b45380f36028d263c45cb2.png

image.gifreact-micro-app.png


本地应用整合


在主应用中注册子应用,在主应用 App.vue 中的 onMounted 中修改 ice 注册配置,修改 name, activePath, title, entry 这四个属性即可


beb21e5127b63d48303ab82b5f321038.png

image.gifapp文件.png


注意activePath 指向子应用中的路由地址,entry 地址这里使用子应用启动后的根路由地址, 也可以指向对应的子应用指定地址, 如 http://localhost:3333/react


配置主应用的侧边栏,指向对应的子应用

在主应用的 BasicLayout.vue 文件中配置 el-sub-menu


c0934a00d3f0b3bac71573d1d6c6fd92.png

image.giflayout.png


配置子应用的路由

单独配置子应用路由对应主应用中的 activePath,实现正常加载


React 子应用路由, 配置了一个 /react 路由地址


182c2a6e4eba38274d5a381b53394cc6.png

image.gifreact-router.png


Vue 子应用路由, 配置一个 /vue 路由地址


8ccd26d819293b30ce711971c5c77a06.png

image.gifvue-router.png


刷新主应用,侧边栏现在可以正常切换了


这时候主应用的侧边栏的内容对应到本地启动的子应用,并且能访问就整合成功了,这时候已经本地示例实现了 icestark 框架的应用整合,应用接入,路由配置跳转的能力。


接下来,将在本地示例中实现子应用间的路由切换(页面跳转)和应用互相通信。




相关文章
|
1月前
|
移动开发 前端开发 Android开发
mPaaS 常见问题之移动开发平台 mpaas的H5 前端 Kylin 框架引入vant后包特别大如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
38 0
|
2月前
|
前端开发 JavaScript Android开发
探索前端开发的未来:跨平台框架的崛起
【2月更文挑战第5天】在不断演进的技术领域中,前端开发正迎来一个新的时代。本文将探讨跨平台框架的兴起,并分析其对前端开发未来的影响。通过使用跨平台框架,开发者可以更高效地构建应用程序,并在多个平台上实现代码重用,从而带来更广阔的发展空间。同时,我们还将介绍几个目前流行的跨平台框架,并探讨它们的优势和潜在挑战。前端开发的未来已经来临,让我们一起揭开这个全新世界的面纱。
|
2月前
|
开发框架 前端开发 JavaScript
探索前端开发中的跨平台框架React Native
本文将介绍前端开发中一种备受关注的跨平台框架React Native,通过比较原生应用与React Native的优缺点,探讨其在实际项目中的应用以及未来发展趋势。
|
3月前
|
运维 前端开发 JavaScript
现代化前端开发工具与框架的演进
随着Web应用的复杂性不断增加,前端开发工具和框架在不断演进,以应对日益复杂的需求。本文将从前端开发工具、主流框架以及未来发展趋势等方面进行探讨,帮助读者了解现代化前端开发技术的最新动态。
|
3月前
|
前端开发
若依框架---如何使用多数据源?前端table中如何显示图片?
若依框架---如何使用多数据源?前端table中如何显示图片?
85 2
|
3月前
|
前端开发 JavaScript 关系型数据库
若依框架------后台路由数据是如何转换为前端路由信息的
若依框架------后台路由数据是如何转换为前端路由信息的
108 0
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
86 7
|
13天前
|
前端开发 JavaScript 搜索推荐
CSS框架是前端开发中不可或缺的工具
【4月更文挑战第12天】CSS框架是前端开发中不可或缺的工具
18 2
|
1月前
|
资源调度 前端开发 JavaScript
推荐一款可以自动创建视频的前端Ract框架
推荐一款可以自动创建视频的前端Ract框架
|
1月前
|
开发框架 前端开发 JavaScript
推荐5款热门的Web前端开发框架,助你快速构建优秀网站
推荐5款热门的Web前端开发框架,助你快速构建优秀网站
86 1
推荐5款热门的Web前端开发框架,助你快速构建优秀网站