2009-12-26 72 views
1

我嘗試使用YUI壓縮程序壓縮我的JavaScript文件,但不知怎的,它沒有做到預期的那樣。YUI壓縮機沒有像預期的那樣運行

JavaScript文件是here

壓縮的輸出是這樣的:

!window.$j&&(function($){$.jswaf={};$j=$.jswaf;var resources={},modules={},depends={},events={},eventfired={},modulepath={},themepath={}; [...] 

等。

我期望的是像「資源」,「模塊」,「取決於」等變量將被縮減爲小的1,2或3個字母標識符。

這是應該發生什麼?或者我的源文件有問題?

順便說一句:

  1. 壓縮機吐這個輸出(I使用-v選項):

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 = {},themepath = {}; ---> var < --- _nullf = function(){}; var WAIT_TIME_RECHECK_FETCHED

    [警告]嘗試每個作用域使用一個'var' 語句。 var _nullf = function(){}; --->變種< --- WAIT_TIME_RECHECK_FETCHED = 300; VAR WAIT_TIME_LOAD_CALLBACK = 20;無功

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 ){}; var WAIT_TIME_RECHECK_FETCHED = 300; ---> 變種< --- WAIT_TIME_LOAD_CALLBACK = 20;無功 WAIT_TIME_UNLOAD_CALLBACK = 20;無功

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 WAIT_TIME_RECHECK_FETCHED = 300; var WAIT_TIME_LOAD_CALLBACK = 20; --->變種 < --- WAIT_TIME_UNLOAD_CALLBACK = 20;無功 WAIT_TIME_EVENT_FIRE = 20;無功

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 WAIT_TIME_LOAD_CALLBACK = 20; var WAIT_TIME_UNLOAD_CALLBACK = 20; --->變種 < --- WAIT_TIME_EVENT_FIRE = 20;無功 WAIT_TIME_ADD_REPO_CALLBACK = 20; $Ĵ

    [警告]嘗試使用一個單獨的 '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' 每範圍 語句 +模塊+」/「;}}對於(--->變種< ---主題在thlist) {主題= thlist [主題

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句 假){returnfalse;}對於(--->變種 < ---在obj.prod RES ){if(resources

    [警告]儘量在每個作用域使用一個'var' 語句(var req在 module.req){--- >變種< --- 實測值= FALSE; VAR 家屬=取決於[資源

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 .req){var found = false; ---> var < --- dependents = depends [resources [req] .id

    [警告]嘗試在每個作用域使用一個'var' 語句。 [REQ] .ID];對於( --->變種< --- moduleIdIndex在家屬){如果(moduleIdIndex ==模塊

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 ,arg3){var id =「」; ---> var < --- conf = {}; var callback = _nullf;

    [警告]請嘗試每個作用域使用一個'var' 語句。 =「」; var conf = {}; --->變種< ---回調= _nullf;若(typeofarg1 == 「字符串」

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 返回 語句;}路徑=路徑+「模塊的.js「; ---> 變種< --- DONE = FALSE; functionfetchDoneCallback(){完成

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句{回報;}變種 callback = null; ---> var < --- recursive = null; if(typeofarg1 ==「function」

    [警告]嘗試使用每個作用域的單個'var' 語句。 [DEP];}}}對於( --->變種< --- PROD模塊[modId] .prod){

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 (真);返回;}其他{--->變種< --- 家屬=取決於[的moduleId];對於(VAR

    [警告]嘗試使用一個單獨的 'VAR' 每範圍 語句。 家屬=取決於[的moduleId];對於(---> 變種< ---指數 家屬){$ jswaf.unloadModule

    不 推薦[警告]使用 'EVAL' 此外,使用'eval' 降低壓縮級別! ,function(data){var conf = ---> eval < ---(數據); var css = conf。css

    [警告]嘗試在每個作用域使用一個'var' 語句。 {var conf = eval(data); --->變種< --- CSS = conf.css;對於(i的

    [警告]實測值未聲明的符號: $ j)的。{$ jswaf = {}; ---> $Ĵ< --- = $ jswaf; VAR資源= {}

    [警告]實測值未聲明的符號: IND evtListeners = getListeners(EVT);對於( ---> IND < ---在evtListeners){的setTimeout(evtListeners [IND]

    [警告]實測值未聲明的符號: 我WAIT_TIME_EVENT_FIRE);}}否則{對於( --->我< --- = eventfired [evt]; i> 0;

    [警告]發現一個未聲明的符號: mod; delete取決於[modId];對於(---> 模< ---在取決於){風險 DEPS =取決於[MOD

    [警告]實測值未聲明的符號: DEP DEPS =取決於[MOD];對於(---> DEP < ---在DEPS){如果(DEP == modId)

  2. 我是否需要單獨安裝犀牛的YUI壓縮機工作?還是與YUI壓縮機一起打包?

感謝, JRH

回答

0

看起來對我來說,就好像如果你添加的聲明所有你的Javascript的變量,這將是更快樂。

+1

唯一的問題是,您從開源項目下載的許多插件和庫不會聲明變量;( – egervari

相關問題