快速上手微前端框架 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 框架的应用整合,应用接入,路由配置跳转的能力。


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




目录
相关文章
|
15天前
|
人工智能 前端开发 JavaScript
前端架构思考 :专注于多框架的并存可能并不是唯一的方向 — 探讨大模型时代前端的分层式微前端架构
随着前端技术的发展,微前端架构成为应对复杂大型应用的流行方案,允许多个团队使用不同技术栈并将其模块化集成。然而,这种设计在高交互性需求的应用中存在局限,如音视频处理、AI集成等。本文探讨了传统微前端架构的不足,并提出了一种新的分层式微前端架构,通过展示层与业务层的分离及基于功能的横向拆分,以更好地适应现代前端需求。
|
22天前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
62 41
|
1天前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
17 8
|
7天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
21 3
|
13天前
|
JavaScript 前端开发 测试技术
前端全栈之路Deno篇(五):如何快速创建 WebSocket 服务端应用 + 客户端应用 - 可能是2025最佳的Websocket全栈实时应用框架
本文介绍了如何使用Deno 2.0快速构建WebSocket全栈应用,包括服务端和客户端的创建。通过一个简单的代码示例,展示了Deno在WebSocket实现中的便捷与强大,无需额外依赖,即可轻松搭建具备基本功能的WebSocket应用。Deno 2.0被认为是最佳的WebSocket全栈应用JS运行时,适合全栈开发者学习和使用。
|
13天前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
14天前
|
前端开发 JavaScript 中间件
前端全栈之路Deno篇(四):Deno2.0如何快速创建http一个 restfulapi/静态文件托管应用及oak框架介绍
Deno 是由 Node.js 创始人 Ryan Dahl 开发的新一代 JavaScript 和 TypeScript 运行时,旨在解决 Node.js 的设计缺陷,具备更强的安全性和内置的 TypeScript 支持。本文介绍了如何使用 Deno 内置的 `Deno.serve` 快速创建 HTTP 服务,并详细讲解了 Oak 框架的安装和使用方法,包括中间件、路由和静态文件服务等功能。Deno 和 Oak 的结合使得创建 RESTful API 变得高效且简便,非常适合快速开发和部署现代 Web 应用程序。
|
19天前
|
前端开发 JavaScript 开发者
qiankun(乾坤)微前端框架简介
qiankun(乾坤)微前端框架简介
57 1
|
24天前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
1月前
|
存储 前端开发 JavaScript
前端技术深度探索:从基础到现代框架的实践之旅
前端技术深度探索:从基础到现代框架的实践之旅
28 2