2011-06-28 15 views
5

Estoy buscando un sitio web/programa que me permita seleccionar varios archivos javascript y dar salida a sus versiones minificadas en el orden en que fueron seleccionadas. (Código E.g de los primeros archivos seleccionados en la parte superior, los últimos archivos al final). ¿Algunas ideas?¿La manera más fácil de empaquetar/minificar múltiples archivos javascript?

+1

No es un duplicado como yo estoy pidiendo específicamente para algo que soporta la compresión de varios ficheros –

+1

Estoy de acuerdo con usted en realidad. No creo que sea una tontería. Bueno, ... no de * esa * pregunta de todos modos. – tjm

Respuesta

5

Closure compiler (y sospecho que la mayoría de los grandes compresores JS) ya permiten esto.

De java -jar closurecompiler.jar --help

--js VAL
: El nombre del archivo JavaScript. Es posible que especificar múltiples

+0

Con cuánto tiempo tomaría escribir todo eso + todos los nombres de los archivos, también podría simplemente comprimir manualmente cada archivo a través de un compresor web. –

+0

@Click True. Pero podría escribir un script simple que pase los archivos a closurecompiler para reducir el tipeo que necesitaría. – tjm

+2

Utilizo la versión en línea del compilador Closure, así no tengo que meterme con CMD. http://closure-compiler.appspot.com/home – Webbies

0

Usted podría concatenar los archivos en un solo archivo (o cat [files] >type [files] >) antes minifying

1

El YUI compressor admite que, también (para ambos JS un archivos CSS, por cierto)

2

Actualización:

he creado un pequeño script PHP para hacer esto comprobarlo: D https://github.com/mario-deluna/packtacular


Ed Eliot (www.ejeliot.com) createt una bonita sc php ript para empacar múltiples archivos JavaScript. Combiné su guión con la clase Jsmin de Douglas Crockford para minificarlos.

basta con sustituir

foreach ($aFiles as $sFile) { 
    $aLastModifieds[] = filemtime("$sDocRoot/$sFile"); 
    $sCode .= file_get_contents("$sDocRoot/$sFile"); 
} 

con

foreach ($aFiles as $sFile) { 
    $aLastModifieds[] = filemtime("$sDocRoot/$sFile"); 
    $sCode .= JSMin::minify(file_get_contents("$sDocRoot/$sFile")); 
} 
Cuestiones relacionadas