反正有没有忽略google-closure JSCompiler的错误?

时间:2018-04-09 05:00:55

标签: java google-closure-compiler

我尝试压缩Inputmask.js文件。这是我的代码

public class JSFileMinifyTest {
    public static void main(String[] args) throws Exception {
        String sourceFileName = "D:\\temp\\jquery.inputmask.bundle.js";
        String outputFilename = "D:\\temp\\combined.min.js";

        com.google.javascript.jscomp.Compiler.setLoggingLevel(Level.INFO);
        com.google.javascript.jscomp.Compiler compiler = new com.google.javascript.jscomp.Compiler();

        CompilerOptions options = new CompilerOptions();
        CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(options);
        options.setAggressiveVarCheck(CheckLevel.OFF);
        options.setRuntimeTypeCheck(false);
        options.setCheckRequires(CheckLevel.OFF);
        options.setCheckProvides(CheckLevel.OFF);
        options.setReserveRawExports(false);
        WarningLevel.VERBOSE.setOptionsForWarningLevel(options);

        // To get the complete set of externs, the logic in
        // CompilerRunner.getDefaultExterns() should be used here.
        SourceFile extern = SourceFile.fromCode("externs.js", "function alert(x) {}");
        SourceFile jsFile = SourceFile.fromFile(sourceFileName);

        compiler.compile(extern, jsFile, options);

        for (JSError message : compiler.getWarnings()) {
            System.err.println("Warning message: " + message.toString());
        }

        for (JSError message : compiler.getErrors()) {
            System.err.println("Error message: " + message.toString());
        }

        FileWriter outputFile = new FileWriter(outputFilename);
        outputFile.write(compiler.toSource());
        outputFile.close();
    }
}

但压缩此js文件时出错。

Apr 09, 2018 11:29:18 AM com.google.javascript.jscomp.parsing.ParserRunner parse
INFO: Error parsing D:\temp\jquery.inputmask.bundle.js: Compilation produced 3 syntax errors. (D:\temp\jquery.inputmask.bundle.js#1)
Apr 09, 2018 11:29:18 AM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: D:\temp\jquery.inputmask.bundle.js:1002: ERROR - Parse error. identifier is a reserved word
                static || null !== test.fn && void 0 !== testPos.input ? static && null !== test.fn && void 0 !== testPos.input && (static = !1, 
                ^

Apr 09, 2018 11:29:18 AM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: D:\temp\jquery.inputmask.bundle.js:1003: ERROR - Parse error. syntax error
                maskTemplate += "</span>") : (static = !0, maskTemplate += "<span class='im-static''>");
                             ^

Apr 09, 2018 11:29:18 AM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: D:\temp\jquery.inputmask.bundle.js:1010: ERROR - Parse error. missing variable name
                var maskTemplate = "", static = !1;
                                       ^

Apr 09, 2018 11:29:18 AM com.google.javascript.jscomp.LoggerErrorManager printSummary
WARNING: 3 error(s), 0 warning(s)
Error message: JSC_PARSE_ERROR. Parse error. identifier is a reserved word at D:\temp\jquery.inputmask.bundle.js line 1002 : 16
Error message: JSC_PARSE_ERROR. Parse error. syntax error at D:\temp\jquery.inputmask.bundle.js line 1003 : 29
Error message: JSC_PARSE_ERROR. Parse error. missing variable name at D:\temp\jquery.inputmask.bundle.js line 1010 : 39

是否有跳过语法验证或忽略错误并继续压缩?

0 个答案:

没有答案