使用Google Closure Compiler时如何防止关键字被混淆?

时间:2015-07-24 14:00:02

标签: javascript obfuscation google-closure-compiler

我正在尝试使用Google Closure编译器来混淆javascript文件(大约50个)。这些文件都依赖于彼此。

在简单模式下,它只模糊局部变量。

在高级模式下,它会混淆所有变量和函数,包括我不想混淆的某些关键字(args,readline,atEnd)。

我如何模糊某些变量而不是其他变量?具体来说:我不希望关键字被混淆。

2 个答案:

答案 0 :(得分:1)

ADVANCEDSIMPLE模式之间存在非常显着的差异。高级优化仅适用于设计为不违反任何compiler restrictions的代码库。在继续之前,您可以阅读Which Compilation Level is Right for Me?

您的问题的答案是外部和出口:

  • Externs阻止编译器重命名外部库中的符号
  • 导出代码中的符号以供其他地方使用

答案 1 :(得分:1)

我没有使用Google Closure Compiler的经验,但为了模糊我的项目,我使用的是Jscrambler。 它允许您使用他们引用为"Rename Exclude List"的黑名单来防止对关键字进行模糊处理。我有时会使用这个功能,如果我的代码被弄糊涂了,那么它会破坏我的代码。