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

2012-09-06 09:52:32 +08:00
 supersheep
看了禅游记的产品,觉得很不错,非常喜欢,于是就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就是简单的去除了多余的空格吧我想。

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

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

@cdredfox
@ywencn
多谢,思路很值得借鉴啊=v=
TerranC
2014-09-19 22:10:45 +08:00
这个有没有基于php的方案?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX