Я составил этот пример javascript
код с Google Closure CompilerGoogle Closure Compiler ADVANCED режим паузы код
$(document).on('click', function() {
console.log('Hello');
});
И я получил этот выход из этого.
$(document).a("click",function(){console.log("Hello")});
Здесь on
заменен a
. Итак, когда я запускаю это в браузере, я получил ошибку.
Я использую эту командную строку для компиляции скрипта.
java -jar closure-compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js script.js
Когда я использую аргумент --process_jquery_primitives
, я получил эту ошибку.
java.lang.RuntimeException: com.google.javascript.jscomp.CompilerOptionsPreprocessor$InvalidOptionsException: The jQuery pass and the Closure pass cannot both be enabled.
at com.google.javascript.jscomp.CompilerExecutor.runInCompilerThread(CompilerExecutor.java:126)
at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:740)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:710)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:680)
at com.google.javascript.jscomp.AbstractCommandLineRunner.doRun(AbstractCommandLineRunner.java:1080)
at com.google.javascript.jscomp.AbstractCommandLineRunner.run(AbstractCommandLineRunner.java:492)
at com.google.javascript.jscomp.CommandLineRunner.main(CommandLineRunner.java:1866)
Caused by: com.google.javascript.jscomp.CompilerOptionsPreprocessor$InvalidOptionsException: The jQuery pass and the Closure pass cannot both be enabled.
at com.google.javascript.jscomp.CompilerOptionsPreprocessor.preprocess(CompilerOptionsPreprocessor.java:74)
at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:746)
at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:84)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:713)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:710)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:91)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Примечание: Я использую последнюю версию Closure Compiler
Не весь код безопасен для 'режиме ADVANCED' компиляции. См. Http://closuretools.blogspot.com/2012/09/which-compilation-level-is-right-for-me.html –