2014-05-16 103 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