Ich habe eine verkleinerte/gepackte Javascript-Datei, die Probleme verursacht. Das Problem ist, dass die nicht gepackte Eingabedatei einige fehlende Semikola irgendwo hat, die kein Problem sind, wenn es Zeilenumbrüche gibt, aber wenn die Datei gepackt wird, werden die Zeilenumbrüche entfernt und das verursacht einen Parserfehler. Zum Beispiel:Javascript Verpackung Problem
//input
var x = function() {
doSomething();
} // note: no semicolon
var y = 'y';
//----
// output
var x=function(){doSomething();}var y='y';
// error here:^
Das Merkwürdige ist, dass, wenn ich ein Ersatz für die Ausgabedatei nicht alle Semikolons mit einem Semikolon und eine neue Zeile, die Datei funktioniert zu ersetzen! Dies macht es lächerlich schwierig, den Fehler zu finden, da AFAIK, ich kann mir keine Situation vorstellen, in der ein Zeilenumbruch nach einem Semikolon irgendetwas ändern sollte. Irgendwelche Ideen darüber, warum dies ersetzt wird, würden es funktionieren lassen?
es tat weh meine Gefühle. – nickf
Verdammt, Doug Crockford! – ichiban
zu erklären: Ausführen der nicht gepackten Datei über JSLint und waten durch die Fehler zu finden, fehlende Semikola gelöst das Problem. Ich bin immer noch verwirrt darüber, warum es funktionierte, wenn die Zeilenumbrüche nach Semikolons hinzugefügt wurden ... – nickf