常见到一些JS或者CSS ,毫无空格换行 为啥呢 省流量?为加密?

2012-12-26 10:56:27 +08:00
 dingtianran
基本毫无可读性啊

仅仅是为了节省流量吗?
一般不都是两端都经过Gzip的吗,有没有空格或者换行或者缩进,对最终结果影响大吗
5386 次点击
所在节点    JavaScript
19 条回复
gucheen
2012-12-26 11:00:21 +08:00
两个原因都有吧.
可读性的问题,其实网站进行开发用的文件当然是不做这样处理的,只需在上线前进行压缩或者加密就可以了
cencents
2012-12-26 11:20:16 +08:00
输出时压缩了吧~ 源文件可能还是有可读性和条理的~
dingtianran
2012-12-26 11:33:14 +08:00
我觉得这样的纯物理压缩(去空格/换行)对gzip之后的结果根本无足轻重,文本内容压缩比都是超高的,心理满足感的意义更大一点。
NemoAlex
2012-12-26 11:43:20 +08:00
这样做是为了增加阅读难度
hzlzh
2012-12-26 11:50:41 +08:00
你看到的是前台css,php或者一些别的程序处理过了(我们一般处理成一行)
后台版本库里是有完整注释和换行的版本,就是这样。
yyfearth
2012-12-26 11:56:19 +08:00
@dingtianran 这个可以叫做minify,是为了优化,可以参考 http://developers.google.com/speed/pagespeed/insights
不仅仅为了压缩率的,对于JS文件,可不仅仅是去空格/换行,变量名和部分逻辑都会被改变。
对于输出的文件,本来就无所谓可读性,对于开源软件,你可以去找他的源代码去读,对于非开源软件,还有一点点的保护源代码的好处
你看现在几乎所有的JS库,都是minify过的,而且对GZIP也有影响
而且你要知道源代码里面有大量的注释,这个过程就可以去掉,对代码的执行也有好处
duhastmich
2012-12-26 12:34:01 +08:00
标准工具,由轻到重
yuicompressor
r.js
closure-compiler
dingtianran
2012-12-26 12:36:51 +08:00
@yyfearth 查了一下minify,可以将多个CSS/js拼合成一个文件,这个的确对性能会有益,减少了请求次数
yyfearth
2012-12-26 16:57:17 +08:00
dingtianran
2012-12-26 18:33:02 +08:00
Livid
2012-12-26 18:34:41 +08:00
在部署前对 JS 进行混淆操作是一种常规手段。
dingtianran
2012-12-26 18:37:16 +08:00
啊 我发现v2ex不支持emoji........
micate
2012-12-26 19:13:43 +08:00
你可以尝试下有空格 + gzip 和 无空格 + gzip 之后的大小对比,还是有明显的差异的。
breeswish
2012-12-28 22:39:31 +08:00
基本是压缩用途,以及基本的代码混淆
arzusyume
2012-12-29 14:43:45 +08:00
主要不是为服务器省流量,而是加快用户载入速度
对慢网速用户而言效果还是十分明显的
zoho
2012-12-30 09:47:43 +08:00
@yyfearth 感觉 Google PageSpeed Insights 提供的信息不准确啊。我在 Chrome 的开发者工具中看到页面是 gzip 压缩的,而它却说没有压缩。
icewent
2012-12-30 13:26:51 +08:00
页面加载速度吧
lianghai
2012-12-30 13:32:16 +08:00
本来就不是给你读的。
xinyu198736
2012-12-30 16:17:34 +08:00
只说一个点:压缩不是把空格压掉,变量名之类的,甚至整个程序的部分逻辑都会给你优化。压缩空间非常大。。。。

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

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

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

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

© 2021 V2EX