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

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

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

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

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

技术选型的思考

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

  • 适合大型应用的MVVM的框架,去掉复杂的DOM操作,让代码变得易于review和维护
  • 模块化产品,方便随时增减一个模块
  • 方便与团队现有的库,工具进行整合

基本技术方案——vue+webpack

  • vue.js——轻量级的MVVM框架
  • webpack——前端模块化解决方案

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

  • vuejs——轻量、学习成本低、双向绑定、无dom的操作、组件的形式编写

    vuejs是个轻量级的mvvm框架,集合了angular的基本功能,却又比angular更为精简,功能上涵盖了双向绑定、指令、逻辑控制、过滤器、事件监听、函数等。框架的特点使得项目在状态变更、分页的场景下可以拥有很大的便利——所有的操作只需要变更数组,没有任何的dom操作。

  • webpack——CommonJS的引用和编写方式、loader非常的丰富,包括vue-loader、css-loader、less-loader

    webpack是前端组件化的解决方案,webpack提供了核心的CommonJS引用方案去引用资源,如下:

    //app.js
    module.exports = {
        title: ‘xxxx‘
    }
    
    //entry.js
    
    var app = require(‘./app.js‘);
    console.log(app.title);
    
    

    但是,webpack与以往的CommonJS引用思路不太一样,webpack允许任何的静态资源作为模块进行引用,包括css、less、html...等等,那么我们需要做的仅仅是加载必要的loader(加载器),如css-loader、less-loader、style-loader等等,那么webpack与vue结合起来,我们可以通过vue-loader,这样我们编写的方式就变成如下:

    <style>
        /*样式编写*/
        #compot{
            width: 100px;
        }
    </style>
    <template>
        <!--模板-->
        <div id="compt"></div>
    </template>
    <script>
        //模块编写
        module.exports = {
    
        }
    </script>
    

    最后保存为*.vue文件,入口文件的初始化只需要:

    var opts = require(‘*.vue‘);//引用*.vue文件
    var main = new Vue(opts);//实例化
    main.$mount(‘#app‘);//渲染
    

    这么一来,使用vue+webpack,我们实现了:

    更多的实践demo笔者在这里就不展开了,有兴趣的小伙伴可以阅读下无线前端@勾股 的一篇博文——just-vue

工具链路在实际开发上的整合

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

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

  • 1、读取webpack配置,运行webpack的loader
  • 2、自动补全css3的前缀
  • 3、打包、下载、压缩js代码,最后将所有文件打包成一个*.html文件

图片处理?

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

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

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

  • 1、切图、测量(开发阶段)

    切图和测量的过程,选用的工具依旧是ps或者sketch,借助ps cc2014版的切图插件Cutterman和标注工具Parker进行工作;而sketch就不需要提了,本身自带的强大标注和导出功能已经让工作非常便利了

  • 2、上传和替换地址(打包阶段)

    以往的图片上传和替换地址的工作都为人工所为,如今无线提供一套图片工具解决方案,通过监听图片目录里图片文件的更换来执行上传命令,同时还支持将小图片转成base64,最后在替换地址上,根据不同的屏幕分辨率选择不同的图片尺寸,总结下来这套工具做了下面几件事:

    • 监听图片文件,执行上传图片
    • 小图转换base64
    • 替换掉代码中的相对路径,包括img[src]、background、element.style.background
    • css代码中添加根据屏幕分辨率选择图片的逻辑

  • 3、图片自动优化(代码运行阶段)

    在这一层面做的图片优化,是在代码执行过程,也就是页面渲染过程。这个过程基于无线前端的组件lib.img,可以实现根据尺寸、弱网判断、屏幕分辨率进行图片的处理,同时提供懒加载的功能,归纳起来有:

    • 根据尺寸选择图片
    • 弱网判断进行选择
    • 设备分辨率进行选择
    • 根据图片质量要求进行选择

  • 汇总起来

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

  • 1、切图、测量,将图片放入项目的images文件夹
  • 2、代码中使用相对路径

OMG!就这么简单?是的!就是这么简单!

“双十一”做的更多的事

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

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

  • 1、网络加载,可以从资源和图片上展开,主要有

    • 资源打包压缩成一个html文件
    • html文件作为离线包加载到手淘包中,因此整个html文件是不存在网络请求loading的
    • 图片使用工具进行尺寸控制,在css代码中添加不同屏幕下采用不同尺寸的图片的逻辑
    • 图片组件lib.img对图片进行精细化控制,根据网络环境、高清屏幕、屏幕尺寸选择不同的图片,将大图控制在30kb左右
    • 小图采用base64加载
    • 首屏渲染接口控制为一个
  • 2、内存优化,主要在代码执行和图片大小两个方面考虑
    • 图片大小控制在30kb左右,避免长列表加载过多图片时产生内存过高的问题
    • 采用高性能统计方案,性能更优
    • css、js代码书写尽量避免性能高耗写法

前端打底数据

  • 由于双十一场景特殊,尽管咱们的后端和算法同学做了大量的优化、数据打底,但是作为页面的负责,还是需要考虑到接口无法访问的情况,那么双十一期间根据接口对数据进行了打底,具体逻辑如下图:

    不得不提的是,ods是无线基于静态服务器的系统,本身不带业务逻辑,仅仅提供了三个功能:1、定时获取接口数据;2、将数据静态存储起来;3、提供jsonp的方式供前端调用

最后总结

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

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

  • vuejs——mvvm构建应用,完全无dom操作,状态管理变得方便
  • webpack——模块化编写,单文件组件编写
  • 图片工具——与现有的工具和组件进行整合,完美打通图片工作链路
时间: 2024-10-13 04:40:27

vue+webpack在“双十一”导购产品的技术实践的相关文章

金牌导购系统开发app平台

金牌导购系统开发app平台,金牌导购系统定制开发,金牌导购系统软件开发,金牌导购系统开发平台 金牌导购系统开发 金牌导购系统找[帆度]:134-2220-2839(谢凡) 金牌导购系统平台开发 金牌导购系统定制 金牌导购系统平台搭健 金牌导购系统软件开发 金牌导购系统APP开发 在互联网出现之前,人们购物必须到线下门店中去,人需要围绕着门店.围绕着物品开展活动.而互联网出现后,人们不再需要到线下门店完成购物,电商平台.厂商和物流商都在围绕着用户需求进行活动.我们的商业模式由"人围绕着物转&quo

微信群裂变,微信群导购,导购可以结合网站一起用,的教程(非原创)

软件名:[箫启灵]微信淘客宝版本:1.0运行环境:.NET4.5软件功能:1.好友导购支持内部券,外部券2.群导购支持内部券,外部券3.群统计拉人排行,拉人总排行,微信群裂变4.自动加好友5.图灵功能6.自定义回复功能导购支持淘宝分享,链接导购,买指令推荐导购. 手机淘宝分享的才解析,不要把淘客群里的文案发给机器人,机器人无视这样的消息 注意:软件需要.NET4.5才能正常加载二维码. 推广位只会加载软件推广位...产品库列表发送的那个地方,你要配置成你自己网的搜索地址,如果你没有淘客网站,就把

电商导购前途末路了吗?

据网易科技报道,国内电商导购平台卷皮网不久前正式获得5000万元的A轮融资(据说巨额B轮正在进行中),该网站也在短短两年左右时间里实现了数亿元交易量.数千万买家会员数量的发展规模,并且跻身成为国内第一电商导购平台.A轮融资消息公布之后,"武汉互联网界震动了",因为大多行业人士此前是并不看好电商环境创业的,更何况又是互联网产业环境并不太理想的武汉. 另外,市场上我们耳熟能详的电商导购平台如美丽说.蘑菇街等,而像卷皮网这样规模甚大,却低调的连行业人士都鲜有耳闻的导购网站是如何在2年多时间里

超级淘新零售导购平台崛起让人备受欢迎,也可以让你躺着赚钱

跟着电子商务的高速开展,网购成了我们日常花费的习气.我们网购最多的渠道无疑是阿里旗下的老牌电商taobao天猫. 终年逛taobao的人都知道这么多年下来,taobao的促销方式也是形形色色,形式多样,从当初的一元起拍到一口价,以后又有各种半价.特价秒杀等等.所以如今时刻来到如今taobao天猫的商家又开端玩起优惠券. 现在超级淘,有十分多的产品都有优惠券可用,触及的产品包括各种服装.母婴.化装.日用.文体等等几乎一切范畴,为花费者供给最真实有效的实惠产品. 除了这些必要的小功能以外,超级淘和别

什么值得买:一家论坛式导购网站的自我修养

什么值得买 的用户把这个网站亲切称为"色魔张大妈"(SMZDM演化而来),虽然这个昵称有些恶搞的成分,但这是一家我印象中这个时代为数不多的"正常"公司.它没有颠覆什么,但重新定义了什么是"值",并且改变了一大批人的消费习惯. 在电商领域,什么值得买从创立初始就在节奏与气质上特立独行,包括其至今都没有涉及"交易"环节.电商行业里,如果一家公司不擅长赶政策热点.赶创业故事热潮,很难在资本市场为自己谈到一个好价钱,没钱烧就没有资源支

奶粉导购扫码领红包系统

奶粉导购扫码领红包系统 135.3879.3268 黄 微信电话 奶粉导购扫二维码领红包软件 奶粉导购扫码领红包系统开发 如今二胎经济带火奶粉市场,婴幼儿奶粉.孕妇奶粉的市场容量非常大,而行业竞争也非常激烈.相对其它行业来讲,母婴门店的导购更能影响消费者的购买.一物一码二维码精准营销系统供应商--赢在移动研发的金牌导购系统,能够让各大乳企借力导购快速提升奶粉的销量. 乳企打破传统营销 金牌导购系统备受青睐 目前国产.进口奶粉品牌数不胜数,乳企都希望争取更多市场份额.但奶粉行业传统的促销无非是打价

金牌导购系统对商家有什么好处

产品流通到市场有多种途径,最终还是流入到了门店或者是商超,那么产品进入商超后,如何让导购员优先推荐你的产品呢?"金牌导购系统"帮你解决销售难题,它是一套可操作性强.容易执行.成本费用低的新型营销模式,产品流通到终端后可实现短时间内就能提升产品销量.(一码通金牌导购系统详情咨询152-7733-8051微信同号) 一."金牌导购系统"是什么 金牌导购系统是基于一物一码技术推出的可塑性强的产品,通过一个二维码标签(或直接在外包装上赋喷印二维码),就能实现渠道管控.质量追

超级淘:电商导购618全品类京券

近几年,跟着网购用户的不断扩大添加,各种第三方导购电商连绵不断的出现在群众的视界傍边,同行间的竞赛也尤为剧烈,可是总体来说,各个导购电商都没有取得比较高的客户满意度,首要都存在返利低.返利时刻长.操作繁琐的各种疑问.可是其间的新贵:超级淘. 采用了全新的导购形式:一次花费,永久天天不间断返现. 也即是现在超级淘的首要形式是经过超级淘进入taobao.天猫.京东花费以后,超级淘天天都会依据你所花费的金额来天天结算一次利息,而且年化率约为20%左右,提现时刻在数秒内便可到账. 超级淘得益于国内电子商

互联网金融“导购”的红与黑 避免比价覆辙须迈过几道坎?

当所有的互联网金融企业涌向P2P时候,有康庄大道不走,反而在独木桥里任性.不幸是一些P2P平台被资本过分的纵容,万幸的是一些P2P平台已经死去.在监管即将出台的现状下,互联网金融"导购返利"服务平台有红的一面,也有黑的一面.如何避免成为搜索比价的替补,如何逃出导购返利的魔咒,对于互联网金融导购返利模式来说,每一步的探索都为了当一个"隐形冠军"的生意经. 搜索生意做久了会倒闭  流量增长乏力是互联网金融导购模式的第一道坎 互联网金融的收费大致有三种,信息费,服务费,成