我正在使用Google的闭包编译器优化(简单优化)来减少我的一些JS脚本文件的大小。虽然这个效果很好,但我遇到了eval语句,这些语句在我的一些函数中被编译器替换为局部变量破坏了大肆破坏。我可以尝试重新编写违规函数来击败编译器,但这可能会很痛苦 - 并且从长远来看,这是很危险的,因为我今天使用的技巧明天可能无法运行。如果我能简单地标记我希望编译器保持不动的代码位,那将会更好。目前我正在考虑使用所有使用evals的函数,将它们放在一个单独的文件中,并在编译器输出结尾标记该文件。然而,在我这样做之前,我认为这值得在这里问 - 有没有办法告诉编译器跳过对某些函数的优化。例如关闭编译器选择性优化?
// @compilation_level SIMPLE_OPTIMIZATIONS
function test(one,two)
{
}
function testTwo(alpha,beta)
{
}
// @Closure:Skip
function evalFunc(one,two)
{
//eval code here
}
//@Closure:EndSkip
最终结果 - Skip,EndSkip部分之间的代码在没有任何更改的情况下通过编译器。
我已经浏览了文档,但还没有发现任何可能做到这一点。我非常感谢任何帮助
[部分跳过使用Google Closure编译器的部分]的重复部分(http://stackoverflow.com/questions/10449195/partially-skip-sections-with-google-closure-compiler) –
供参考:我问过那个问题在github上:https://github.com/google/closure-compiler/issues/1282 – BlaM