我发现 CompilerOption 中的某些选项没有导出到命令行。
例如,alias all strings
在 Closure Compiler 的 Java API CompilerOption 中可用,但我不知道如何在命令行中设置它。
我知道我可以创建一个新的 java 类,例如:
Compiler c = new Compiler();
ComppilerOptions opt = new ComppilerOptions();
opt.setAliasAllString(true);
c.compile(.....);
但是我必须自己处理命令行参数。
有什么简单的想法吗?
==============================
为了尝试该alias all string
选项,我编写了一个基于 compiler.jar 的简单命令行应用程序。
但是我发现,打开时得到的结果alias all string
不是我所期望的。
例如:
a["prototype"]["say"]=function(){
var a="something string";
}
给定上面的代码,something string
将被一个像这样的变量替换:
var xx="something string";
....
var a=xx;
....
这很好,但是字符串“say”怎么样?闭包编译器如何知道这应该是别名(替换它使用变量)或导出(导出此方法)?
这是现在编译的代码:
a.prototype.say=function(){....}
它似乎导出它。
虽然我想要这个:
var a="prototype",b="say",c="something string";
xx[a][b]=function(){.....}
其实这就是类似google_map的编译。
这可能吗?