[英]YUI compressor not behaving as expected
我嘗試使用YUI壓縮器壓縮我的JavaScript文件,但是由於某種原因,它沒有達到預期的效果。
JavaScript文件在這里 。
壓縮后的輸出如下所示:
!window.$j&&(function($){$.jswaf={};$j=$.jswaf;var resources={},modules={},depends={},events={},eventfired={},modulepath={},themepath={}; [...]
等等。
我期望的是像“資源”,“模塊”,“依賴”等變量將減少為小的1、2或3個字母標識符。
這是應該發生的嗎? 還是我的源文件有問題?
順便說一句:
壓縮器輸出此輸出(我使用了-v選項):
[警告]嘗試在每個范圍內使用一個'var'語句。 = {},themepath = {}; ---> var <--- _nullf = function(){}; var WAIT_TIME_RECHECK_FETCHED
[警告]嘗試在每個范圍內使用一個'var'語句。 var _nullf = function(){}; ---> var <--- WAIT_TIME_RECHECK_FETCHED = 300; var WAIT_TIME_LOAD_CALLBACK = 20; var
[警告]嘗試在每個范圍內使用一個'var'語句。 ){}; var WAIT_TIME_RECHECK_FETCHED = 300; ---> var <--- WAIT_TIME_LOAD_CALLBACK = 20; var WAIT_TIME_UNLOAD_CALLBACK = 20; var
[警告]嘗試在每個范圍內使用一個'var'語句。 WAIT_TIME_RECHECK_FETCHED = 300; var WAIT_TIME_LOAD_CALLBACK = 20; ---> var <--- WAIT_TIME_UNLOAD_CALLBACK = 20; var WAIT_TIME_EVENT_FIRE = 20; var
[警告]嘗試在每個范圍內使用一個'var'語句。 WAIT_TIME_LOAD_CALLBACK = 20; var WAIT_TIME_UNLOAD_CALLBACK = 20; ---> var <--- WAIT_TIME_EVENT_FIRE = 20; var WAIT_TIME_ADD_REPO_CALLBACK = 20; $ j
[警告]嘗試在每個范圍內使用一個'var'語句。 WAIT_TIME_UNLOAD_CALLBACK = 20; var WAIT_TIME_EVENT_FIRE = 20; ---> var <--- WAIT_TIME_ADD_REPO_CALLBACK = 20; $ j.resources = resources;
[警告]嘗試在每個范圍內使用一個'var'語句。 ;} var modpath = path +“ modules / module-list.js”; ---> var <--- thpath = path +“ themes / theme-list.js”; functionfinish(val
[警告]嘗試在每個范圍內使用一個'var'語句。 + module +“ /”;}}} for(---> var <--- thlist中的主題){theme = thlist [theme
[警告]嘗試在每個范圍內使用一個'var'語句。 false){returnfalse;} for(---> var <--- obj.prod中的res){if(資源
[警告]嘗試在每個范圍內使用一個'var'語句。 (module.req中的var req){---> var <--- found = false; vardependents = depends [resources
[警告]嘗試在每個范圍內使用一個'var'語句。 .req){var found = false; ---> var <--- dependents = depends [resources [req] .id
[警告]嘗試在每個范圍內使用一個'var'語句。 [req] .id]; for(--> var <--- moduleIdIndex在從屬中){if(moduleIdIndex == module
[警告]嘗試在每個范圍內使用一個'var'語句。 ,arg3){var id =“”; ---> var <--- conf = {}; var callback = _nullf;
[警告]嘗試在每個范圍內使用一個'var'語句。 =“”; var conf = {}; ---> var <--- callback = _nullf; if(typeofarg1 ==“ string”
[警告]嘗試在每個范圍內使用一個'var'語句。 return;} path = path +“ module.js”; ---> var <--- done = false; functionfetchDoneCallback(){done
[警告]嘗試在每個范圍內使用一個'var'語句。 {return;} var callback = null; ---> var <--- recursive = null; if(typeofarg1 ==“ function”
[警告]嘗試在每個范圍內使用一個'var'語句。 [dep];}}} for(---> var <--- prod in modules [modId] .prod){
[警告]嘗試在每個范圍內使用一個'var'語句。 (true); return;} else {---> var <--- dependents = depends [moduleId]; for(var
[警告]嘗試在每個范圍內使用一個'var'語句。 dependents = depends [moduleId]; for(--> var <---依賴項中的索引){$。jswaf.unloadModule
[警告]不建議使用'eval'。 此外,使用“ eval”可降低壓縮程度! ,function(data){var conf = ---> eval <---(data); var css = conf.css
[警告]嘗試在每個范圍內使用一個'var'語句。 {var conf = eval(data); ---> var <--- css = conf.css; for(i in
[警告]找到未聲明的符號:$ j){$。jswaf = {}; ---> $ j <--- = $。jswaf; var resources = {}
[警告]找到了一個未聲明的符號:ind evtListeners = getListeners(evt); for(---> ind <---在evtListeners中){setTimeout(evtListeners [ind]
[警告]找到了一個未聲明的符號:i WAIT_TIME_EVENT_FIRE);}}其他{for(---> i <--- = eventfired [evt]; i> 0;
[警告]找到了一個未聲明的符號:mod; deletedepends [modId]; for(---> mod <--- independ){var deps = depends [mod
[警告]找到了一個未聲明的符號:dep deps = depends [mod]; for(---> dep <--- in deps){if(dep == modId)
我需要單獨安裝Rhino才能使YUI壓縮機正常工作嗎? 還是與YUI壓縮機一起包裝?
謝謝,jrh
在我看來,如果您為所有Javascript變量添加了聲明,那似乎會更快樂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.