1
我想寫使用最近的谷歌的關閉編譯器的版本,壓縮JavaScript文件一個ColdFusion腳本。 此程序以兩個錯誤結束:Closure編譯器:變量定義是不宣
JSC_UNDEFINED_VARIABLE. variable module is undeclared at jquery-3.1.1.js line 9767 : 12
JSC_UNDEFINED_VARIABLE. variable define is undeclared at jquery-3.1.1.js line 9784 : 13
我不知道什麼是魔法。 module
和define
是常見的JS變量;我相信Closure知道他們。我缺少什麼設置?有沒有外部人員失蹤?我是否必須設置某個CompilerOption?
<cfset options = createObject("java", "com.google.javascript.jscomp.CompilerOptions").init()>
<cfset cl = createObject("java", "com.google.javascript.jscomp.CompilationLevel")>
<cfset wl = createObject("java", "com.google.javascript.jscomp.WarningLevel")>
<cfset cl.SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(options)>
<cfset cl.SIMPLE_OPTIMIZATIONS.setDebugOptionsForCompilationLevel(options)>
<cfset lm = createobject("java", "com.google.javascript.jscomp.CompilerOptions$LanguageMode")>
<cfset options.setEnvironment(options.Environment.BROWSER)>
<cfset schar = createobject("java", "java.nio.charset.StandardCharsets")>
<cfset options.setOutputCharset(schar.UTF_8)>
<cfset wl.VERBOSE.setOptionsForWarningLevel(options)>
<cfset comp = createObject("java", "com.google.javascript.jscomp.Compiler").init()>
<cfset clr = createObject("java", "com.google.javascript.jscomp.CommandLineRunner")>
<cfset sourceFile = createObject("java", "com.google.javascript.jscomp.SourceFile")>
<cfset arrInputs = createObject("java", "java.util.ArrayList").init()>
<cfset arrExterns = createObject("java", "java.util.ArrayList").init()>
<cfset arrInputs.add(
sourceFile.fromCode(
javaCast("string", "jquery-3.1.1.js"),
javaCast("string", fileRead(expandPath("../advanced/js/jquery-3.1.1.js"), "utf-8"))
)
)>
<cfset arrExterns.addAll(clr.getBuiltinExterns(options.Environment))>
<cfset result = comp.compile(arrExterns, arrInputs , options)>
<cfoutput>
|#result.success#|
<cfloop from="1" to="#arrayLen(result.errors)#" index="i">
err: #result.errors[i]#<br>
</cfloop>
</cfoutput>
此命令行開關在我ColdFusion代碼將是'表示' –