fly*_*ire 54 javascript compression minimize jscompress
你用什么来最小化和压缩JavaScript库?
Tim*_*own 42
我已经使用了YUI Compressor很长一段时间并没有遇到任何问题,但最近开始使用Google Closure Compiler并取得了一些成功.到目前为止我对它的印象:
我已经转而使用Google Closure Compiler进行简单的"编译"模式,因为它总体上略胜于YUI Compressor.我使用它比使用YUI Compressor少得多,但从我到目前为止看到的我推荐它.
另一个我尚未尝试但听起来很有希望的是Mihai Bazon的UglifyJS.
hay*_*lem 22
你在这里有一堆可能性:
根据我的个人经验,我建议你使用Dojo SDK构建一个自定义构建,然后你可以配置为使用他们通常的ShrinkSafe编译器,或者他们现在支持的 Google Closure .
在压缩方面,我认为Google Closure是迄今为止产生最佳结果的产品,但我对ShrinkSafe感到满意,它有点老了,而且更强大,而Closure Compiler在块上看起来有点像新手(例如,您的利益相关者可能不太喜欢).
有些人发誓只有YUI Compressor.我个人不能保证它.
现在,如果您质疑的是压缩库而不仅仅是您自己的JavaScript代码,那么它显然会更加复杂,因为您需要大多数这些工具来导出不应重命名或剥离的符号.最理想的压缩器将删除他们认为未使用的函数 - 通常是库中的情况,如果没有绑定到项目,显然 - 并更改名称以缩短它们并使用更少的字符 - 这也是一个问题,因为你显然想要公开API不会被篡改.
您还可以在此主题中找到其他主题,并在工具的支持文档中查找信息.您可能还想看看JSBuilder2,它是Dojo的Build工具的一些吊坠(因此,使用ShrinkSafe或Closure Compiler)用于ExtJS(使用YUI压缩器).
(抱歉,作为新的SO用户,我无法添加多个链接,因此无法直接链接到工具.)
编辑:关于在一些答案中表达的担忧,压缩可能会引入错误,并且由于代码没有被破坏,它使调试变得更容易:是的,这是一个有效的问题.然而:
Chr*_*oph 12
我根本没有最小化JavaScript:gzip压缩对我来说足够好,并且还有一个额外的好处,即错误消息仍然有用.
kos*_*ant 11
我也使用YUI Compressor.我在我的项目中使用了这样的ant任务:
<!--
YUI Compressor tasks
http://www.julienlecomte.net/yuicompressor/README
-->
<property name="yuicompressor.jar"
value="C:/devlibs/yuicompressor-2.2.4/build/yuicompressor-2.2.4.jar"/>
<target name="js.compress">
<!-- Create min directory under js direcrtory if it doesnt exist -->
<mkdir dir="${js-directory}/min" />
<apply verbose="true" executable="java" parallel="false" failonerror="true">
<fileset dir="${js-directory}" includes="*.js"/>
<arg line="-jar"/>
<arg path="${yuicompressor.jar}"/>
<srcfile/>
<arg line="-o"/>
<mapper type="glob" from="*.js" to="${js-directory}/min/*-min.js"/>
<targetfile/>
</apply>
</target>
Run Code Online (Sandbox Code Playgroud)
UglifyJS是一个新的.
UglifyJS比YUI Compressor压缩得更好,与Google Closure Compiler差不多.例如,来自Google Closure Compiler的jQuery的压缩版本仅比UglifyJS生成的版本小403字节 - 令人印象深刻!UglifyJS也是最快的一次击球,击败Closure超过6秒!
此外,UglifyJS生成的代码比Closure生成的代码更安全.例如,Closure不知道如何处理eval或使用{} - 它只记录错误并继续重命名变量.显然,这会导致代码损坏.UglifyJS没有这个问题.
更多信息可以在这里找到:http: //badassjs.com/post/971960912/uglifyjs-a-fast-new-javascript-compressor-for-node-js
| 归档时间: |
|
| 查看次数: |
22282 次 |
| 最近记录: |