2012-04-23 22 views
11

Sto usando YUI Compressor per ridurre i file JS. Ho questo codice:Compressore YUI e suggerimento "use strict"

(function(global) { 
    "use strict"; 

    var X=1; 

    /*** my code here ***/ 

}(window)); 

E io comprimerlo con questo comando:

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

Il "use strict" suggerimento non è presente nel file di output compresso. Sembra che YUI rimuova tutti i suggerimenti. Ed è uscita questo avvertimento:

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

Anche se, il mio codice funziona bene dopo la compressione, mi piacerebbe sapere se c'è un argomento per YUICompressor per preservare i suggerimenti e/o un modo per evitare che l'avvertimento.

Qualche consiglio? Grazie.

+0

Vuoi dire oltre a scrivere codice rigoroso senza che il motore ti corregga? –

+0

wow, sembra proprio che YUI stacchi via quei suggerimenti sul testo e quindi, rimuove automaticamente qualsiasi modalità rigorosa. – jAndy

+0

Vai a yuilibrary.com e file un biglietto per il compressore. –

risposta

3

Una spiegazione parziale può essere trovata here. Sebbene la domanda riguardi il compilatore di chiusura, la risposta ti dà un suggerimento (dato che anche Google ha riscontrato questo problema). In Closure è possibile utilizzare --language_in=ECMASCRIPT5_STRICT

Sfortunatamente fino ad ora non c'è stato nulla di simile per il compressore YUI. Almeno non ho trovato nulla del genere.

+0

Si noti che JSLint preferisce la forma di funzione 'use strict' ma Closure rimuove il modulo di funzione e lo aggiunge all'inizio del file. Quindi ancora non è una soluzione corretta. –