V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
supersheep
V2EX  ›  问与答

和大家聊一下禅游记的前端打包方式

  •  
  •   supersheep · 2012-09-06 09:52:32 +08:00 · 4289 次点击
    这是一个创建于 4456 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了禅游记的产品,觉得很不错,非常喜欢,于是就command+option+u了
    发现html输出做了压缩,全站所有页面都只有一个css和一个js,地址形式是这样的
    http://cdn.chanyouji.cn/assets/application-7a0d3f87baed3aee8e3aa40223832d43.css
    http://cdn.chanyouji.cn/assets/application-0727db038bbfe17bc783885679fd5279.js
    图片后面会加hash,但没有合并(当然的)

    看起来很不错,于是推测做法。看起来就是每次上线就把所有的css中的图片路径先统统改成绝对路径,然后一股脑combo成一个文件,同时以某种算法(比如文件名拼接+时间戳md5什么的)加上hash,在自己的服务器上以此文件名存一份(防止cdn在错误的时候回原,虽然一般不会)

    js类似,combo,然后用closure压缩,加上hash,存起来。

    html就是简单的去除了多余的空格吧我想。

    这样做的好处当然是请求少,可以有效利用用户浏览器的缓存,缺点嘛就是不相关的文件也会被打到一起,网站慢慢复杂,冗余也会越来越多,开始的时候倒也无伤大雅。

    作为一个平时只做开发,虽然也有在做打包工具,但还在笨拙的开发中的生手,不知道理解有没有偏差。抛砖引玉啦。
    7 条回复    2014-09-19 22:10:45 +08:00
    cdredfox
        1
    cdredfox  
       2012-09-06 09:54:03 +08:00
    这个因该没有这么复杂,看起来是用rails开发的,是由rails提供的assert机制,可以参考rails的assert说明。
    hanbaoo
        2
    hanbaoo  
       2012-09-06 11:09:25 +08:00
    出于对产品以及萌叔的尊重,你至少把名字写对嘛,蝉
    avatasia
        3
    avatasia  
       2012-09-06 11:56:11 +08:00
    产品不错
    baixiaonuo
        4
    baixiaonuo  
       2012-09-06 16:00:08 +08:00
    是蝉游记!!!!!!!!!!!!!
    ywencn
        5
    ywencn  
       2012-09-06 16:18:14 +08:00
    supersheep
        6
    supersheep  
    OP
       2012-09-08 23:26:26 +08:00
    @hanbaoo
    @baixiaonuo
    被自己洗脑了,第一眼看到,就一直以为是“禅”,罪过,“蝉”倒是有另一种好味。

    @cdredfox
    @ywencn
    多谢,思路很值得借鉴啊=v=
    TerranC
        7
    TerranC  
       2014-09-19 22:10:45 +08:00
    这个有没有基于php的方案?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:38 · PVG 04:38 · LAX 12:38 · JFK 15:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.