Scriptia. Javascript y buenas prácticas en español



Scriptia / artículos / YUI Compressor comprime tus scripts y tus hojas de estilos

YUI Compressor comprime tus scripts y tus hojas de estilos

Saltar a Anotaciones relacionadas

Ya hemos hablado por aquí de cómo comprimir ficheros javascript. Pero aún no está todo dicho. Hoy y aquí, YUI Compressor.

Los compresores que ya conocemos presentan algunos problemas:

  • JSMin elimina los comentarios y los blancos sobrantes. Chachi piruli, pero podemos ahorrar más bytes.
  • ShrinkSafe presenta algunos problemitas (o eso dicen).
  • Packer, aún consiguiendo grandes ganancias, puede ser inseguro.

El nuevo chico del vecindario, YUI Compressor, utiliza Rhino para toquenizar y analizar la estructura del fichero fuente, lo que le permite reemplazar los símbolos locales (más conocidos como nombres de variables locales) por símbolos de una (o dos o tres) letras de manera segura. Y, por supuesto, elimina –salvo orden en contra– blancos de sobra (espacios y nuevas líneas).

En cuanto a capacidad de compresión, el autor de YUI Compressor señala ganancias de aproximadamente el 18% respecto a JSMin y 10% respecto a ShrinkSafe.

También para comprimir CSS

La novedad en esta herramienta es que también permite comprimir ficheros CSS. Ahora, ojito cuidadín, lo hace eliminando comentarios y blancos, así que no es buena idea usarlo en combinación con ciertos hacks.

Uso

Descarga el paquete (necesitas Java 1.4 o superior para ejecutar YUI Compressor) y descomprime en un directorio al gusto.

Para comprimir un fichero js o CSS con las opciones por defecto:

java -jar build/yuicompressor-2.1.1.jar fichero_de_entrada

Dado un fichero de entrada script.js el fichero resultante será script-min.js (lo mismo vale para style.css y style-min.css). Evidentemente, también podemos especificar un fichero destino. Y unas cuantas opciones más:

--line-break
Añada un carácter de nueva línea tras cada punto y coma (en modo javascript) o tras cada regla (en modo CSS).
--type js|css
Tipo de compresión a utilizar (por defecto se basa en la extensión).
--charset character-set
Juego de caracteres que se usará para leer el fichero de entrada.
-o outfile
Fichero de salida.

Y si lo tuyo no es la línea de comandos, YUI Compressor incluye una interfaz web en el directorio web.

Fin del asunto. Que comience el flame.



Publicidad


Di la tuya

Puedes usar markdown y estas etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> . Por favor, evita el abuso de las mayúsculas y cuida la ortografía.


Acerca de Scriptia

Saltar a la caja de búsqueda

Scriptia forma parte del PDM de Choan C. Gálvez, desarrollador web residente en Barcelona. Scriptia pretende mejorar la calidad de la documentación acerca de javascript disponible en español.