2014-05-16 100 views
1

我一直在使用YUI Compressor(通过PHP脚本调用)来缩小组合文件。在拳头,我合并文件,然后缩小它,但现在我正在缩小文件,然后将它们合并。如果不是全部(〜40 +脚本和css文件)已经改变,这可能节省时间。YUI压缩机速度

我注意到的是,缩小40个文件的总体过程需要更长的时间(大约120+秒),而组合文件花费的时间显着缩短。

您可以将第一个vs之后的哲学结合起来,但是有谁知道这个问题的原因?可能是由于应用程序的初始化时间?

我使用这个代码:

$yui_jar = $this->fitango_root.'/js/yuicompressor-2.4.7.jar'; 
    $command = "java -jar $yui_jar $filename -o $path_file"; 
    echo "MINIFYING: $filename\n"; 
    exec ($command,$result); 
+0

我非常认为这是压缩机的启动时间。这是用Java编写的,在启动时并不好。根据这个链接:http://yuilibrary.com/projects/yuicompressor/ticket/1872317它看起来像它支持通配符? – barnyr

回答

3

这将是Java的JVM启动时间。虽然YUI压缩机页面上没有记录,它不支持通配符转换为单个文件:

java -jar yuicompressor-2.4.8.jar -o ".js$:-min.js" *.js 

我刚刚测试了本地,可以确认它的工作。如果你没有参数运行压缩机,你会得到一个更新的选项列表,这是我从上面得到的

+0

我的缩小构建脚本使用以下格式: foreach(... java -jar yuicompressor-2.4.8.jar -o $ 2 $ 1 ...)。除非我将所有文件复制到临时文件夹并返回,否则它将不能用于正则表达式。是否可以使用逗号语法或类似的语法? – user1122069

+0

@ user1122069你可以在通配符中使用路径,大多数shell允许它......'release/*/* - debug.js -o“-debug.js $: - min.js”' – gcb

+0

正如barnyr所说。 – user1122069