代码之家  ›  专栏  ›  技术社区  ›  GPX

如何检测JS是否已经打包

  •  0
  • GPX  · 技术社区  · 16 年前

    嘿,伙计们。。我正在用C编写一个Windows应用程序,它可以缩小CSS文件并将JS文件打包为批处理作业。应用程序的一个障碍是,如果用户选择了一个已经打包的JavaScript文件怎么办?它最终会增加文件大小,完全违背我的目的!

    eval(function(p,a,c,k,e,d) 够了吗?我的猜测是否定的,因为还有其他的JS打包方法。帮帮我!

    6 回复  |  直到 16 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    有人可能建议您比较打包前和打包后JS的大小,并返回/使用两者中较小的一个。

    基于评论中的问题 GPX 在 Sep 30 at 1:02

    var unpackedJs = File.ReadAllText(...)
    var unpackedSize = jsContent.Length;
    var packedJs = ... // Your Packaging routine
    File.WriteAllText(pathToFile, unpackedSize < packedJs.Length ? unpackedJs : packedJs)
    
        2
  •  1
  •   gblazex    16 年前
        3
  •  1
  •   James Westgate    16 年前

    我指示你去一个表明包装不好的邮局。

    http://ejohn.org/blog/library-loading-speed/

    而不是使用缩小。Google闭包编译器可以通过restweb服务实现这一点。只使用一个。最小js小型化扩展(未打包)。

    Gzip会做得更好,而且会被浏览器解压。最好在服务器上打开zip压缩,这样可以进一步压缩缩小的文件。

        4
  •  0
  •   Josh Stodola    16 年前

    创建/保存缩小文件时,请使用标准文件名约定“文件名.min.js". 然后,当他们选择文件时,您可以将其作为可靠的指示符进行检查。

    我认为在这个问题上过火是不明智的。如果一个用户(他是一个开发人员)笨到可以双重打包一个文件,他们 应该 遇到问题。我知道你应该对他们表示怀疑,但在这种情况下,这样做似乎不值得。

        5
  •  0
  •   lincolnk    16 年前

        6
  •  0
  •   Valera    16 年前

    除此之外,我建议检查行的长度,以及使用了多少空格。缩小/压缩的JS通常没有空格(通常是字符串)和很长的行。