JavaScript混淆器:未定义变量[重复]

zpgglvta  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(115)
    • 此问题在此处已有答案**:

(18个答案)
4小时前关门了。
我有几个网站的Javascript小文件,现在我用脚本把它们放到一个文件里,然后用terser把它最小化,最小化后网站运行起来没有任何问题。
现在我想使用JavaScript-Obfuscator(https://obfuscator.io/)对它进行模糊处理。

gulp.task('obfus', function() {
    gulp.src('src/main/webapp/js/mysite.min.js')
        .pipe(javascriptObfuscator({
                compact: true
        })).pipe(gulp.dest('src/main/webapp/js/dist'));
});

但是,我得到了这个错误时,运行网站:

Uncaught ReferenceError: loc is not defined
    at eval (eval at exampledomain.<computed> (mysite.min.js?:1:71178), <anonymous>:1:39)

下面是发生错误的代码行:

eval('exampledomain.build' + type + '(loc)');

我需要使用"eval"来调用基于"type"的不同函数。
如何解决这个问题?

rbpvctlc

rbpvctlc1#

gulp.task('obfus', function() {
  return gulp.src('src/main/webapp/js/mysite.min.js')
    .pipe(javascriptObfuscator({
      compact: true
    }))
    .pipe(gulp.dest('src/main/webapp/js/dist'));
});

我做了以下更改:
在gulp.src调用之前添加了一个return语句,以确保任务返回流。这一点很重要,因为它允许Gulp正确处理任务执行过程中可能发生的错误。
添加了缩进以使代码更易读、更易于理解。

相关问题