文章 | 微前端,实现真正的缝合怪

2022 年什么会火?什么该学?本文正在参与“聊聊 2022 技术趋势”征文活动 」

你们见过C项目的页面嵌入到A项目吗?

你们见过A项目有个模块外包给别人做的项目,最后考虑如何引入的吗,登录咋办?

你们见过A项目引入D项目的某一个地方的吗?

我认为2022年 微前端 会更火

有次后端同事在项目中采用了微服务,于是老板就问我,前端有没有类似的框架,感情我之前说了将推动微服务的技术落地等于白说,看来只有真正实践在项目中,才会真正的了解吧!

业务困惑

小公司经常面临一个问题,就是想将项目产品化,却偏偏被客户把需求带到沟里去了。但是,老板可不关心这些东西,他认为,我做完了项目,就是可以把项目加进(强行塞进)另外的项目,这样可以实现更加‘完美’的需求。

业务问题

项目强行塞进项目带来了诸多问题

  1. 原型不统一,公司并没有统一的业务组件,连最起码的后台逻辑都是七零八落;
  1. UI不统一,样式风格偏向保守,也局限于老板和客户;
  1. 最重要的是前后端代码,改来改去,早已经是眼不见为净;

初期解决办法

代码合并

把之前的项目代码合并

优点

1、周报有写头

2、学习代码,不管是自己的,还是别人的代码,

3、增强对项目的理解,等于复习,

缺点

1、浪费时间

2、眼睛会瞎

iframe

部署需要嵌入的项目,给定相应的url即可

优点

1.iframe能够把嵌入的网页原样展现出来;

2.模块分离,便于更改,如果有多个网页引用iframe,只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷;

3.网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,增加代码的可重用;

4.如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决;

5.重载页面时不需要重载整个页面,只需要重载页面中的一个框架页;

6.方便制作导航栏。

缺点

1.样式和脚本需要额外链入,调用外部页面,需要额外调用css,增加页面额外的请求次数,增加服务器的http请求;

2.代码复杂,在网页中使用框架结构最大的弊病是搜索引擎的“蜘蛛”程序无法解读这种页面,会影响搜索引擎优化,不利于网站排名;

3.框架结构有时会让人感到迷惑,滚动条除了会挤占有限的页面空间外会使iframe布局混乱,还会分散访问者的注意力,影响用户体验;

4.链接导航疑问。运用框架结构时,必须保证正确配置所有的导航链接,否则,会给访问者带来很大的麻烦。比如被链接的页面出现在导航框架内,这种情况下访问者便被陷住了,因为此时他没有其他地点可去; 

5.产生多个页面,不易管理;

6.多数小型的移动设备(PDA 手机)无法完全显示框架,设备兼容性差

\

2022年的解决办法——微前端

为什么推荐

之所以认为微前端会火的原因,主要是因为‘云原生’,业务拆分

对于缝合怪,就要采用缝合的办法

个人看法

  • 微前端适合我所在公司,或者小公司在项目中的需求
  • 大公司开源的微前端框架,如阿里的qiankun,字节的,京东的MicroApp等,说明微前端在很多公司都有业务上的困境和需求,满足开发者和用户的需求

如何落地

1、采用微前端的框架qiankun,熟悉文档以及文档

2、现有项目业务拆分

    因为有一个项目还只是一期,就已经上万个包了,早已臃肿不堪。先开发主容器,把架子搞起来后,再抽离单个业务逻辑,

3、风险评估

  • 主容器与子容器的数据通信;主要是登录凭证共享,可以存在localStorage或sessionStorage;
  • 开发
  • 组件拆分
  • 样式:样式隔离和公共样式
  • 部署:如何部署在服务器,nginx代理

以上是我对公司项目上的规划;

猜你喜欢

转载自juejin.im/post/7054174260826210312