2012-04-23 17 views
11

He estado usando el compresor YUI para minificar los archivos JS. Tengo este código:Compresor YUI y sugerencia de "uso estricto"

(function(global) { 
    "use strict"; 

    var X=1; 

    /*** my code here ***/ 

}(window)); 

Y comprimirlo con este comando:

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

la "utilización estricta" pista no está presente en el archivo de salida comprimido. Parece que YUI elimina todos los consejos. Y salida de esta advertencia:

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

Aunque, mi código funciona bien después de la compresión, me gustaría saber si hay un argumento a yuicompressor para preservar los indicios y/o una manera de evitar que la alerta.

¿Algún consejo? Gracias.

+0

¿Quiere decir además de solo escribir un código estricto sin tener que corregir el motor? –

+0

wow, realmente parece que YUI quita esas sugerencias de texto y, por lo tanto, elimina automáticamente cualquier modo estricto. – jAndy

+0

Vaya a yuilibrary.com y archiva un ticket para el compresor. –

Respuesta

3

Se puede encontrar una explicación parcial here. Aunque la pregunta es sobre el compilador de cierre, la respuesta te da una pista (ya que Google también tenía este problema). En el Cierre es posible usar --language_in=ECMASCRIPT5_STRICT

Desafortunadamente, hasta ahora no ha habido tal cosa para el Compresor YUI. Al menos no pude encontrar algo así.

+0

Tenga en cuenta que JSLint prefiere la forma de función de 'use strict', pero Closure elimina el formulario de función y lo agrega al comienzo del archivo. Entonces todavía no es una solución correcta. –

Cuestiones relacionadas