amfe / article

7.59k stars 1.07k forks source link

vue+webpack在“双十一”导购产品的技术实践 #24

Open qd1993102 opened 8 years ago

qd1993102 commented 8 years ago

双十一中,无线前端的产品可以说非常的丰富。在双十一中,互动始终是重头的一部分,但是与以往不一样的地方是,导购产品在本次双十一中有着不俗的表现。而今年的双11导购业务占据了5大模块里的后三个,除了必抢,其它业务均是由手淘的同学来完成的,笔者作为导购产品的一员,选择导购产品来给大家解读其中的技术实践。

本次双十一的导购产品都有哪些?

看到这些截图,相信很多人都很熟悉,不管是双十一晚会摇一摇摇出的“清单”,还是大家抢完红包迫不及待点开的“我的双十一”,又或者是点开“我的双十一”标签进入的人群会场寻找与自身匹配的商品,这些都是本次双十一的导购产品。

这么多的导购产品,本次双十一导购产品的技术体系又是什么样的,在双十一中,无线导购产品使用了什么技术?这一定是大伙关心的问题,下面将展开介绍双十一无线导购产品的技术实践。

技术选型的思考

对于双十一的场景,我们希望能够选择一个足够适应大型应用的的技术方案,能够支撑起双十一这样的大场景,整体思考上有:

有同学会问,前端社区可选用的工具和框架这么多,为什么挑选了vue+webpack在双十一的项目中进行实践,那么我们来盘点下选用上的思考:

当然,仅仅使用vue+webpack,已经可以以一种高效的方式进行开发了,但是为了和无线团队的“私货”结合起来,我们的开发链路还更完善些,不过是不是有“私货”就不能使用了,不是的,事实上,“私货”相对独立,开发时也可以完全剥离出来,开发过程可以自行选择。

本次导购产品中,使用vue+webpack的过程中,将其结合到了gulp中,同时引用gulp-htmlone、autoprefixer-core,主要解决以下几个问题:

上述的介绍中,似乎涵盖了html、css、js,但是始终没有提到图片上面的处理,作为前端页面重要的一环,图片怎么可能在无线前端中被忽略,笔者下面展开介绍图片处理上,我们团队的做法

首先,先说说痛点,下图是不是大多数情况下图片的工作流程

那么,在面对双十一那么大的页面量时,如果以这样的方式去工作,那一定会崩溃的...因此在双十一前,团队已经整理出了一套完整的图片工作方案,因此在双十一才能以一个全新的面貌展现给大家,下面笔者给大家进行介绍:

前期脚手架搭好后,最后我们的图片工作流程可能就只需要做下面几个工作,也就是上述"开发阶段"需要做的事情:

不得不说,面对双十一这么大量级的一个场景,无线前端对产品质量层面做了很大的把关,当然少不了的是前端界经久不衰的话题——性能优化,那么题主给大家盘点下导购小组做的性能优化上的事。

性能优化,性能优化主要集中在两个层面上的优化

以上便是无线前端导购小组在本次双十一的工作流程,当初考虑使用vue+webpack,大家也在想新的技术是不是能够经得住考验,事实证明,经历了双十一这一个大的熔炉下锻造,这样的技术实践已经完全成熟了。最后,以一张大图结束,总结一下无线导购组vue+webpack在开发链路上的实践

回头看看我们的技术目标,我们实现了:

dingyiming commented 8 years ago

好厉害!学习中

kujian commented 8 years ago

好东西。学习

shijunwei commented 8 years ago

威武

monkeytwins commented 8 years ago

mark 占位学习

LingyuCoder commented 8 years ago

竟然是同时使用了webpack+gulp....

debingfeng commented 8 years ago

不错,学习了

sophister commented 8 years ago

最近用 React + webpack,发现把component依赖的图片放在各个component目录下,webpacke打包合并出单独的CSS里,图片的路径处理不对,不知道淘宝有没有遇到这个问题

Jinjiang commented 8 years ago

@sophister 可以看这里 #8

sojuker commented 8 years ago

vue 什么时候是 mvvm 框架了? webpack 都没有定义组件,怎么是前端组件化的解决方案?

skyline0705 commented 8 years ago

@sojuker 可以去看看vue-loader

liekkas commented 8 years ago

下个项目要试试vue+webpack

dszls commented 8 years ago

学习mark

heziqiang commented 8 years ago

vue+webpack 目前正在使用,感觉不错!

xiaobinwu commented 8 years ago

mark一下

pfan123 commented 8 years ago

mark 一下

leochan2017 commented 8 years ago

马克

HelKyle commented 8 years ago

非常棒!

bluezhan commented 8 years ago

思维导图是用了工具??????

hu3402379 commented 8 years ago

mark

think2011 commented 8 years ago

赞!

chuangchidong commented 8 years ago

我以为你有源码呢

yuluhuang commented 8 years ago

前端怎么判断 网络环境

qqqzhch commented 8 years ago

window.navigator 移动端 包含网络相关信息@yuluhuang

qqqzhch commented 8 years ago

window.navigator.connection.type @yuluhuang

epver commented 8 years ago

已经用上vue了

Erwin11 commented 7 years ago

图片处理这块,简单来说就是“人工切图上传CDN替换路径——自动化”,和CDN的乱码路径替换本地图片说拜拜

He-Xun commented 7 years ago

show me the code?