Ich habe die neueste Abschluss Compiler JAR-Datei heruntergeladen und folgte den Anweisungen , um zu sehen, wie ich es bekommen kann, Referenzen auf JS-Funktionen erhalten woanders definiert.Closure Compiler mit erweiterten Optimierungen und Externes
Mein Testskript, hello.js ist als
function hello(nom)
{
alert(nom + familyName());
}
Mein externs folgt externs.js in der Datei definiert werden, die den Code
function familyName(){}
I enthält, die dann ausgeben Befehl
java -jar closure.jar --js hello.js --externs externs.js --js_output_file hello-compiled.js --compilation_level ADVANCED_OPTIMIZATIONS
Ohne ADVANED_OPTIMIZATIONS
funktioniert alles richtig - effektiv ein Ort der Code-Minification. Sobald ich jedoch das erweiterte Flag einfüge, erscheint die Ausgabe hello_compiled.js
als leere 1-Byte-Datei. Natürlich verstehe ich irgendwo etwas falsch. Ich wäre jedem sehr dankbar, der mich hier auf die richtige Spur bringen könnte.
Gut entdeckt und - jetzt, wo Sie es erwähnen - gesunder Menschenverstand. Ich habe den Compiler gebeten, zu optimieren und dann zu erwarten, redundanten Code in der kompilierten, optimierten Ausgabe zu sehen! – DroidOS