Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 闭包编译器:向模糊变量添加前缀_Javascript_Obfuscation_Google Closure Compiler_Prefix - Fatal编程技术网

Javascript 闭包编译器:向模糊变量添加前缀

Javascript 闭包编译器:向模糊变量添加前缀,javascript,obfuscation,google-closure-compiler,prefix,Javascript,Obfuscation,Google Closure Compiler,Prefix,我的目标是为所有模糊变量添加前缀。 例如: 它不会将myVar混淆为x,而是使用前缀$pre,因此结果类似于:$prex 我正在使用闭包编译器。接下来,我使用了rename\u variable\u prefix,可惜没有成功 代码示例: const ClosureCompiler = require('google-closure-compiler').jsCompiler; console.log(ClosureCompiler.CONTRIB_PATH); // absolute pat

我的目标是为所有模糊变量添加前缀。 例如: 它不会将
myVar
混淆为
x
,而是使用前缀
$pre
,因此结果类似于:
$prex

我正在使用闭包编译器。接下来,我使用了
rename\u variable\u prefix
,可惜没有成功

代码示例:

const ClosureCompiler = require('google-closure-compiler').jsCompiler;

console.log(ClosureCompiler.CONTRIB_PATH); // absolute path to the contrib folder which contains externs

const closureCompiler = new ClosureCompiler({
  compilation_level: 'ADVANCED',
  rename_variable_prefix: '$pre'
});

const compilerProcess = closureCompiler.run([{
 path: 'file-one.js',
 src: 'function add(node){
          let test = window["test"];
          if (node.hzix == test)return 1;
       }
       add(window["node"]);
       window.add = add;',
 sourceMap: null // optional input source map
}], (exitCode, stdOut, stdErr) => {
  //compilation complete
});
结果代码为:

  {\n"version":3,\n"file":"compiled.js",\n"lineCount":1,\n"mappings":"AAAiGA,MAAAC,IAAA,CAAjGA,QAAY,CAACC,CAAD,CAAM,CAA2B,GAAIA,CAAAC,EAAJ,EAAfH,MAAAI,KAAe,CAAsB,MAAO,EAAxD;",\n"sources":["file-one.js"],\n"names":["window","add","node","hzix","test"]\n}\n',
src: 'window.add=function(a){if(a.a==window.test)return 1};

结果不包括前缀“$pre”。我缺少什么?

我也无法让它工作,Java和JS编译器都不行。。。也许试着回到几个版本?事实上,我回到了20171203,无法让它工作。¯_(ツ)_/尽管文档中关于重命名变量前缀标志的内容是:“指定一个前缀,该前缀将在所有变量前面。”源代码中的文档内容是:“为所有全局变量指定一个前缀”。因此,该标志添加了前缀,但仅针对全局变量。