簡體   English   中英

YUI壓縮機行為異常

[英]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個字母標識符。

這是應該發生的嗎? 還是我的源文件有問題?

順便說一句:

  1. 壓縮器輸出此輸出(我使用了-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)

  2. 我需要單獨安裝Rhino才能使YUI壓縮機正常工作嗎? 還是與YUI壓縮機一起包裝?

謝謝,jrh

在我看來,如果您為所有Javascript變量添加了聲明,那似乎會更快樂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM