我尝试使用 YUI 压缩器压缩我的 JavaScript 文件,但不知何故它没有达到预期的效果。
JavaScript 文件在这里。
压缩后的输出如下所示:
!window.$j&&(function($){$.jswaf={};$j=$.jswaf;var resources={},modules={},depends={},events={},eventfired={},modulepath={},themepath={}; [...]
等等。
我所期望的是,“资源”、“模块”、“依赖”等变量将减少为 1、2 或 3 个字母的小标识符。
这是应该发生的事情吗?还是我的源文件有问题?
顺便提一句:
压缩机吐出这个输出(我使用了-v选项):
[警告] 尝试在每个范围内使用单个 'var' 语句。={},主题路径={}; ---> var <--- _nullf=function(){};var WAIT_TIME_RECHECK_FETCHED
[警告] 尝试在每个范围内使用单个 'var' 语句。var _nullf=函数(){}; ---> 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 <--- res in obj.prod){if(resources
[警告] 尝试在每个范围内使用单个 'var' 语句。(var req in module.req){ ---> var <--- found=false;vardependents=depends[resources
[警告] 尝试在每个范围内使用单个 'var' 语句。.req){var found=false; ---> var <---dependents=depends[resources[req].id
[警告] 尝试在每个范围内使用单个 'var' 语句。[req].id];for(---> var <--- moduleIdIndex independent){if(moduleIdIndex==module
[警告] 尝试在每个范围内使用单个 'var' 语句。,arg3){var id=""; ---> var <--- conf={};var callback=_nullf;
[警告] 尝试在每个范围内使用单个 'var' 语句。="";var conf={}; ---> var <--- callback=_nullf;if(typeofarg1=="string"
[警告] 尝试在每个范围内使用单个 'var' 语句。返回;}path=path+"module.js"; ---> var <--- done=false;functionfetchDoneCallback(){done
[警告] 尝试在每个范围内使用单个 'var' 语句。{return;}var 回调=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 <--- index independents){$.jswaf.unloadModule
[警告] 不推荐使用 'eval'。此外,使用 'eval' 会降低压缩级别!,function(data){var conf= ---> eval <--- (data);var css=conf.css
[警告] 尝试在每个范围内使用单个 'var' 语句。{var conf=eval(数据); ---> var <--- css=conf.css;for(i in
[警告] 发现一个未声明的符号:$j){$.jswaf={}; ---> $j <--- =$.jswaf;var 资源={}
[警告] 找到一个未声明的符号:ind evtListeners=getListeners(evt);for( ---> ind <--- in evtListeners){setTimeout(evtListeners[ind]
[警告] 发现一个未声明的符号:i WAIT_TIME_EVENT_FIRE);}}else{for( ---> i <--- =eventfired[evt];i>0;
[警告] 发现一个未声明的符号: mod ;delete depends[modId];for( ---> mod <--- independs){var deps=depends[mod
[警告] 发现一个未声明的符号:dep deps=depends[mod];for( ---> dep <--- in deps){if(dep==modId)
我需要单独安装 Rhino 才能让 YUI 压缩器工作吗?还是它与 YUI 压缩器一起打包?
谢谢,jr