全国更大诚信黑客接单,网上信誉黑客联系方式两部手机能用

访客4年前黑客文章808

Controlling complexity is the essence of computer programming.
随着前端开发复杂度的日益提升,组件化开发应运而生,并随着 FIS、React 等优秀框架的出现遍地开花。这一过程同样发生在美团,面临业务规模的快速发展和工程师团队的不断扩张,美团历经引入组件化解决资源整合问题、逐步增强组件功能促进开发效率、重新打造新一代组件化方案适应全栈开发和共享共建等阶段,努力“controlling complexity”。本文将介绍美团组件化开发的实践过程。

组件化 1.0:资源重组
在美团早期,前端资源是按照页面或者类似业务页面 *** 的形式进行组织的。例如 order.js 对应订单相关页面的交互,account.css 对应账户相关页面的样式。这种方式在过去的较长一段时间内,持续支撑了整个项目的正常推进,功勋卓著。
2016325100542747.png (1048×600)

随着业务规模的增加和开发团队的扩张,这套机制逐渐显示出它的一些不足:

1.资源冗余

页面的逐渐增加,交互的逐渐复杂化,导致对应的 css 和 js 都有大幅度增长,进而出现为了依赖某个 js 中的一个函数,需要加载整个模块,或者为了使用某个 css 中的部分样式依赖整个 css,冗余资源较多

2.对应关系不直观

没有显而易见的对应规则,导致的一个问题是修改某个业务模块的 css 或者 js 时,几乎只能依靠 grep。靠人来维护页面模块 html、css 和 js 之间的依赖关系,容易犯错,常常出现内容已经删除但是 css 或 js 还存在的问题。

3.难于单元测试

以页面为最小粒度进行资源整合,不同功能的业务模块相互影响,复杂度太高,自动化测试难以推进。
2013 年开始,在调研了 FIS、BEM 等方案之后,结合美团开发框架的实际,美团初步实现了一套轻量级的组件化开发方案。主要的改进是:

1.以页面功能组件为单位聚合前端资源
2.自动加载符合约定的 css、js 资源
3.将业务数据到渲染数据的转换过程独立出来


相关文章

2020网络黑客24小时接单

科勒马桶有许多型号,有许多系列,不同型号的产品不同。那么,科勒马桶如何对待模型呢?本日,的华夏装潢小编来说明科勒的马桶模型和什么是如何鉴别它。 Kleinmalong 4.8升分体式马桶白色:型...

如何注册博客网站?注册博客网站的流程及方法

如何注册博客网站?注册博客网站的流程及方法

注册博客网站,严格意义上讲,应该是建立一个博客网站,而对于一些非互联网行业的人员,习惯性的称作注册博客网站,其实,注册一个博客网站有很多种方式,它主要包括:  1、免费注册博客网站  2、...

怎么偷看我老婆和别人的微信所有聊天记录?

今天,《女儿们的恋爱》第二期节目播出,金晨和张继科正式开启鼓浪屿之行,两人一起吃牛轧糖、一起打乒乓球,轻松愉快的相处氛围引来观察团的一众调侃。 第二期节目中,金晨和张继...

天盾微信聊天记录恢复软件

操作方法也非常简单,打开下载好后的迅捷微信聊天记录导出恢复助手,它会自动检测出iTunes备份文件,选择设备名后,点击“开始扫描”即可。扫描完成后,我们会。 可以首先,浏览器中搜索天盾手机数据恢复软件...

全国鸡肉价格3年首降怎么回事 全国鸡肉猪肉近十年价格走势图

全国鸡肉价格3年首降怎么回事 全国鸡肉猪肉近十年价格走势图

国家统计局公布的最新数据中,8月份,禽肉类价格同比上涨42.0%,其中猪肉价格上涨52.6%,牛羊肉价格也都有10%左右的涨幅,而鸡肉价格却同比下降1.6%,也是近3年来的首次下降。 经常吃快...