【发布时间】:2013-07-28 11:29:05
【问题描述】:
我是第一次尝试使用 UglifyJS。我想用 UglifyJS 转换下面的代码
function someFn(){
var someVar="test";
if(browser=="IE7"){
....
console.log("something");
console.log("somethingelse");
.....
}
else{
....
console.log("nothing");
console.log("nothingelse");
.....
}
}
产生以下输出
function someFn(){
var someVar="test";
....
console.log("something");
console.log("somethingelse");
.....
}
我尝试过的如下
if (node instanceof UglifyJS.AST_If){
return node.body;
}
但这给出了以下输出
function someFn(){
var someVar="test";
{
....
console.log("something");
console.log("somethingelse");
.....
}
}
【问题讨论】:
-
除了额外的块(2个字符)之外,两者之间没有任何区别。
-
你可以注意到没有 else 块,也应该删除 if 条件..我的整个想法是如果我找到与 IE7 匹配的 if 条件,则使代码特定于 IE7..hope我很清楚..你也可以看到我得到了“{”大括号
-
输出中没有
if或相应的else块,如图所示。唯一的区别是一对牙套 -
是的,你是对的.. 我无法通过 UglifyJS 移除那些大括号
-
@Jan Dvorak 有什么解决办法吗?
标签: javascript abstract-syntax-tree uglifyjs