V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
dingtianran
V2EX  ›  JavaScript

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

  •  
  •   dingtianran · 2012-12-26 10:56:27 +08:00 · 5371 次点击
    这是一个创建于 4352 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基本毫无可读性啊

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