Pregunta

Estoy trabajando en un sitio de una página que incorpora aproximadamente una docena de archivos .js y quizás media docena de archivos .css.

La mayoría de los archivos .js son complementos de jQuery. Además de un archivo css base, los archivos CSS son para los complementos jQuery correspondientes.

YUI Compressor parece ser el favorito para comprimir archivos CSS y JS. Sin embargo, solo comprime archivos individuales.

También me gustaría combinar mis archivos y (idealmente) terminar con un archivo .js y uno .css (ambos comprimidos).

¿Existen herramientas preferidas que le permitan automatizar la combinación de los archivos .js y .css en un solo archivo para que luego pueda ejecutarse a través del compresor YUI?

¿Fue útil?

Solución 4

Terminé tropezando con esta opción:

http: / /johannburkard.de/blog/programming/javascript/automate-javascript-compression-with-yui-compressor-and-packer.html

Es un archivo por lotes que combina versiones locales de concatenación, YUI Compressor y Dean Edward's Packer.

Al final, sin embargo, no pude hacer que Packer trabajara localmente. Siguió corrompiendo mi .js.

Entonces, salté esa parte y luego ejecuté mi código Comprimido YUI a través del Packer en línea y solo vi un aumento adicional de 1% en la compresión, así que omití la etapa Packer.

Al final, mi solución usó las instrucciones vinculadas anteriores con un archivo por lotes ligeramente modificado:

escriba .. \ js-in * > jb.js java -jar .. \ yui \ build \ yuicompressor-2.4.2.jar jb.js -o jb-yui.js

Gracias por todas las otras soluciones (válidas) también. ¡Mucha buena información!

Otros consejos

Si sabes un poco, php, he encontrado que esta es la mejor manera: http://www.thedanglybits.com/2007/06/21/minify-your-external-javascript-and-css-with-php/

Es posible que desee consultar las ruedas dentadas ( http://www.getsprockets.com/ ).

Estaba haciendo esta pregunta solo el otro día. Después de cansarme de explorar la web, se me ocurrió esta solución hack (archivo por lotes de Windows).

@echo off
set TUNA_ROOT=C:\path\to\webroot
set YUI_COMPRESSOR_PATH=C:\path\to\yuicompressor-2.4.2\build
set TEMP_JS_FILE=%TUNA_ROOT%\scripts\all_scripts_temp.js
set OUTPUT_JS_FILE=%TUNA_ROOT%\scripts\tuna_min.js
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
if exist "%OUTPUT_JS_FILE%" del "%OUTPUT_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftMvcAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
rem ...and so on...
java -jar "%YUI_COMPRESSOR_PATH%\yuicompressor-2.4.2.jar" -v --charset utf-8 -o "%OUTPUT_JS_FILE%" "%TEMP_JS_FILE%"
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"

pero realmente me encantaría si hubiera una forma más automatizada de hacer las cosas.

Utilizo este sitio casi exclusivamente para comprimir mis archivos JS y CSS:
http://www.lotterypost.com/js-compress.aspx
http://www.lotterypost.com/css-compress.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top