什么?你还不会 OpenTiny 跨框架组件库适配微前端?
本文由体验技术团队陈家梅同学分享,带你手把手实现 TinyVue 组件库适配微前端~
以下是派源我对微前端的一些粗浅理解,对微前端有一定了解的码大门派话可以略过,直接进入第二部分。源码
微前端是大门什么?我们首先来点熟悉的东西,以我们最常见的派源网页源码拷贝页面为例,看下图:
左侧为子应用路由切换,码大门派通过点击左侧完成右侧页面子应用的源码切换,这就是大门一个最简单的微前端应用架构了。
作为一名资深打工人,派源为了便于理解,码大门派我把微前端类比成一家企业,源码当它发展到了一定规模时,大门效率会变得低下,派源运行迟缓。码大门派此时为了便于管理,提高能效,加强部门之间的协作;一般会分化出几家子公司 + 一个总公司(或总部)。
其特点是:每家子公司都可以独立运作,也可以互相协作,但都听从总部的sock代理源码统一管理,至此,我们就有了微前端的基本概念。
微前端借鉴了后端比较成熟的微服务概念:
为什么需要微前端,它有什么优点?一个优秀的微前端框架应当有如下优点:
应用之间互相独立:包括了 js 沙箱、css 隔离等;
支持父与子,子与子应用之间的通讯;
性能方面支持预加载和按需加载机制;
多个公共依赖的共享处理。
一个优秀的前端工程像一家优秀的企业一样,当项目的业务达到了一定的规模,高度集成为一个巨无霸,为了降低运行消耗、维护的时间和人力成本,提升用户的终端体验;拆分+整合就势在必行了。
想象一个场景:(作为一名刚入职公司的前端工程师,不管你是初级还是资深,面对使用不同技术栈、相互之间业务耦合性大的多个项目;或者是一个高度集成、体量庞大,运行缓慢的巨石项目,你要怎么处理才能降低项目维护成本,提升性能,第六源码从而提升效率,提升用户体验?)
第一种情况:项目多且杂我就遇到过,工程师们加班加点的修 bug;但愣是换了一批又一批人,还是没有改善现状,进入了一个恶性循环)。
所以我们急需一种能整合所有项目,并且单个项目又能独立运作的技术方案。
此时有条件的研发团队,一般都会选择微前端,接入同一套主系统,既能独立运行又可相互通信,兼顾了流畅体验和信息共享。
在选择了一款优秀的微前端架构的前提下,需要注意:此时组件库的选择就能展现出工程师眼光的差距了;是有 n 种前端框架就使用 n 个组件库好,还是 n 种前端框架就使用一个组件库好呢?
我比较懒、想节省时间、想早点下班...... 而且一套东西越用越熟练,效率越高,不拘泥于技术栈,可以一当十(想当年六大门派围攻光明顶,确认指标源码我张无忌以一当......额,回归正题),至此 @opentiny/vue 就成了我不二之选。
那么如何做?
我们需要用 @opentiny/vue 组件库,在各个子应用中引入并使用,共用一套 @opentiny/vue-renderless 方法,实现多个技术栈跨端引用。
经过多方对比,我们选择了目前比较合适的(无界)微前端框架,接入相对简单,并兼具一款优秀微前端框架的优点。
跟着我们一起来动手吧!
为了实现跨框架使用 @opentiny/vue 组件库,我们需要进行以下步骤:
1. 使用 pnpm 管理组件库工程和微前端工程
2. 创建 monorepo 工程根目录,使用 gitbash 输入以下命令(以下所有命令均在 gitbase 环境下运行):
3. 创建组件源代码目录:
4. 在根目录下创建 package.json,并修改其内容:
5. 定义包管理工具和一些启动工程的脚本:
6. 解决一些 pnpm 针对 Vue 不同版本(Vue2、Vue3)的依赖冲突,packageExtensions 项可以让 Vue2 相关依赖可以找到正确的 Vue 版本,从而可以正常加载 Vue2 和 Vue3 的组件。
7. 在根目录创建配置文件 pnpm-workspace.yaml,尖峰对决源码文件内容如下:
至此初始化已经完成,我们总共完成了四件事:
项目配置基本完成,我们就可以开始将注意力集中于编写我们的页面了。
在开始创建之前,前面我们已经了解了四个子工程的项目结构,那就有思路了:
1. 使用 vite 脚手架创建一个 Vue3 的工程,运行命令如下:
2. 下载安装无界微前端的 Vue3 依赖包和 vue-router 路由:
3. 进入主工程,在 packages/home/src 下新建 views 文件夹,并在文件夹中创建一个主页面和四个子页面,分别为:Home.vue(主页--集成页面)、React.vue、Solid.vue、Vue2.vue、Vue3.vue 为四个子页面
4. 按照相似步骤创建四个子工程,分别使用 React、Solid、Vue 的 vite 套件创建。
5. 配置四个子工程vite.config.js,设置不同的端口号。
6. 分别在四个子工程里使用 button 组件和倒计时 countdown 组件,自定义一些交互逻辑。
7. 启动创建好的微前端,效果如下图所示:
8. 总结步骤,创建 setup.js 文件,通过脚本一键启动所有微前端工程。
整个工程搭建流程清晰,通过适配 @opentiny/vue 组件库,实现了跨框架组件库的使用,简化了开发流程,提升了开发效率。
最后,我们对整个微前端架构有了深入的理解,也体验了从零到一搭建微前端工程的全过程,从中感受到了微前端架构的灵活性和组件库选择的重要性。@opentiny/vue 组件库以其灵活、高效的特点,为跨框架开发提供了便利,降低了维护成本,提升了用户体验。欢迎进入 OpenTiny 开源社区,一起参与技术交流和贡献,共建前端开发的未来。
金庸群侠传1
金庸群侠传1下载集合:
金庸群侠传1下载怀旧版
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
金庸群侠传1下载-完美硬盘版
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
梦幻金庸群侠传1下载正式版
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
RPG金庸群侠传1下载
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
金庸群侠传1下载之苍龙逐日1.2修改器
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
金庸群侠传1下载之武林浩荡1.7简体中文版
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
金庸群侠传1下载—笑梦游记 v1.
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
RPG经典单机游戏金庸群侠传1下载
金庸群侠传1下载&dt=&ps=0_0&rt=0kbs&plt=0
金庸群侠传1相关介绍:
中文名称:《金庸群侠传》
开发厂商:河洛工作室(后改名为东方演算)
发行厂商:智冠电子
游戏平台:PC单机游戏
游戏类型:角色扮演游戏
发行日期:年
这是河洛工作室“群侠”系列三部曲的的第一部。第二部为为武林群侠传,第三部为三国群侠传。金庸群侠传于年发行,是由河洛工作室开发(后来改名为东方演算)、智冠科技发行的中文角色扮演游戏,在当时是一款相当受欢迎的游戏。要注意的是,日后开发的金庸群侠传Online一度是受欢迎的网络角色扮演游戏,但游戏不是由河洛工作室开发。
游戏简介
无论是在中国,或是在东南亚,西欧,北美等地,凡是有中国人的地方,都知道金庸这个名字。无数金庸迷热烈的拥戴他们所爱的小说人物,跟这些小说人物走遍大江南北,并随他们的命运落泪叹息。还有一些专家学者或著名小说家对“金学”做很透彻的研究并发出很独特精辟的见解。
不管您是哪一个阶层的人只要看过金庸的小说,都会对金庸小说中各色的人物及当时武林社会的各种状况产生五味杂陈的感觉,或喜爱,或厌倦,或者乐不可支,大家心中一致认为:金庸的小说的确好看,而且值得一看再看。以这样的后辈姿态来看金庸小说,除了敬畏,还是敬畏······
这是一款由智冠公司河洛工作室年推出的角色扮演类游戏。此游戏把金庸先生“飞雪连天射白鹿,笑书神侠倚碧鸳”等部小说中一些脍炙人口的片段,如六大门派围攻光明顶,冰火岛,英雄大会等融合在一起,改编而成,具有个支线任务。玩家可自由选择游戏路线,其间基本上没有因果关系,只不过其中有一些任务相对比较难,因此需先完成别的任务才成。游戏的剧情是开放的,游戏地图也是开放的。在游戏中玩家可邀5位非主角控制的人物(NPC),参加队伍,而且游戏中如果行善做好事多,则玩家的品德属性值高,这样一些人物才愿意与你为伍。反之,如果杀戮过重,最后过关时将遇到正派大侠们连手攻击,就较难回到现实世界里来了······
游泳的鱼Windows版:年9月7日游泳的鱼利用VB和DirectX编写出了第一个游戏的Windows版本。这在当时是一个里程碑式的成果。这个版本的最终版本号为0.4。仍然含有一些bug,并且在某些时候执行效率较低,而且基本不能支持原版之外的MOD。
tianuawindosws版:《金庸群侠传》最完美的原版移植版,此移植版本除了音乐错乱和速度过快之外,基本没有恶性bug,并添加了几个新的功能。但是由于作者并没有针对原版之外的版本作任何优化,也未提供移植版的源码,因此他的移植版对MOD制作技术的研究并无贡献。
复刻版
金庸群侠传Windows版:年weyl使用Pascal语言编写,SDL作为游戏的基本引擎重制了基于Windows平台下《金庸群侠传移植版》,又称为复刻版,虽然这不是第一个Windows平台下的金庸群侠传,但是由于此版引擎可正确支持大部分流行MOD,并可供玩家修改制作基于Windows平台下的新的MOD,甚至可以通过修改复刻版附带发布的源代码进行游戏引擎的修改,所以这是MOD发展史上的一个里程碑。最近,慕容玄恭发布在《苍龙逐日复刻版》的基础上开发出新MOD《金书群芳谱》,值得一提的是,这应该是第一个采用复刻版引擎制作的MOD。
2024-12-24 00:30
2024-12-24 00:03
2024-12-23 22:55
2024-12-23 22:25
2024-12-23 22:03