2012-04-23 11 views
11

Ich verwende YUI Compressor, um JS-Dateien zu minimieren. Ich habe diesen Code:YUI Compressor und "Use Strict" Hinweis

(function(global) { 
    "use strict"; 

    var X=1; 

    /*** my code here ***/ 

}(window)); 

Und ich komprimieren es mit diesem Befehl:

$> java -jar yuicompressor-2.4.7.jar test.js -o test.min.js --verbose 

Die "use strict" Hinweis in der Druckausgabedatei nicht vorhanden ist. Es scheint, dass YUI alle Hinweise entfernt. Und es Ausgabe dieser Warnung:

[WARNING] Invalid hint syntax: use strict 
(function(global){ ---> "use strict" <--- ;var X=1;... 

Obwohl, mein Code funktioniert gut nach der Kompression, würde ich gerne wissen, ob es ein Argument für YUICompressor die Hinweise und/oder eine Art und Weise zu erhalten, dass die Warnung zu vermeiden.

Irgendwelche Ratschläge? Vielen Dank.

+0

Sie meinen abgesehen davon, nur strengen Code zu schreiben, ohne dass die Engine Sie korrigieren? –

+0

Wow, es sieht wirklich so aus, als ob YUI diese Texthinweise entfernt und daher jeden strikten Modus automatisch entfernt. – jAndy

+0

Gehe zu yuilibrary.com und speichert ein Ticket für den Kompressor. –

Antwort

3

Eine teilweise Erklärung kann here gefunden werden. Obwohl diese Frage den Abschluss-Compiler betrifft, gibt Ihnen die Antwort einen Hinweis (wie Google auch dieses Problem hatte). In Closure ist es möglich, --language_in=ECMASCRIPT5_STRICT

zu verwenden. Leider gab es bisher für den YUI Compressor nichts. Zumindest konnte ich so etwas nicht finden.

+0

Beachten Sie, dass JSLint die Funktionsform von 'use strict' bevorzugt, Closure jedoch das Funktionsformular entfernt und am Anfang der Datei hinzufügt. Also immer noch keine richtige Lösung. –

Verwandte Themen