Busco a una herramienta o una manera de Minify (similar a Comprimir mi código y esta cuestión en la pila) todo el código en mis .xml
, .css
, .html
y .js
archivos a través de Ubuntu terminal. Eventualmente, ejecutaré el proceso de script, pero por el momento me gustaría encontrar algo para probar. ¿Existe alguna herramienta que pueda usar para comprimir todos estos formatos de archivo a través del terminal?
command-line
software-recommendation
DᴀʀᴛʜVᴀᴅᴇʀ
fuente
fuente
tar -czvf compressed.tar.gz *.xml *.css *.html *.php
?Respuestas:
Esta no es la mejor opción, pero probablemente sea la más fácil. Durante mucho tiempo se pensó que el compresor YUI era el mejor compresor para Javascript y CSS, ofreciendo mejoras del 20-40% sobre otros minificadores.
Desde entonces, ha sido reemplazado por proyectos más nuevos como Uglify.JS (que Grunt probablemente sugerirá), pero sigue siendo bastante fácil de poner en marcha en Ubuntu.
Eso es. Ahora puedes correr
yui-compressor myfile.js
y hará su magia, solo que no tan bien o tan convenientemente como instalar una pila Node / Grunt / Uglify + YUI correctamente.fuente
more-css
paquete NPM para minimizar tu CSS es más intrusivo que usar yui-compressor. No lo es Es solo otro comando que hace lo mismo mejor.Puede minificar js fácilmente con node y uglify-js desde la línea de comandos:
instalar uglify-js con
npm install uglify-js -g
ejecutarlo
uglifyjs app-test.js > app-test.min.js
Para css sugeriría el uso de ejemplo clean-css (probablemente el minificador css más estable en npm)
:
En lo que respecta a html, por lo general, la minificación no vale el tiempo que invierte en configurarlo, pero he intentado html-minifier y es una herramienta increíble.
Hagas lo que hagas, solo asegúrate de comprimir lo que estás sirviendo.
fuente
uglify
se puede instalar directamente consudo apt-get install node-uglify
uglify
conapt
, también necesitas instalarnode-legacy
, así que ejecutasudo apt install node-uglify node-legacy
cleancss
herramienta CLI ahora está en elclean-css-cli
paquete.Use minify : a diferencia de las otras sugerencias, esta herramienta minimiza muchos más tipos de archivos:
fuente
No hay ninguna razón para minificar archivos php (excepto que tiene un espacio en disco muy limitado y quiere usar cada bit).
Si pudiera agregar una meta (¿Qué quiere lograr y por qué?), Alguien podría mostrarle una mejor manera.
Los archivos JS y CSS se minimizan en tiempo de ejecución y se almacenan en caché en la mayoría de los proyectos web. Hay minify ( https://github.com/mrclay/minify ), una "biblioteca" de php que puede hacer exactamente esto. (también se puede ejecutar con php desde la terminal)
Pero tenga en cuenta que un gran archivo javascript no necesariamente se carga más rápido que 5 archivos pequeños. Si necesita una razón y una solución para esta declaración, eche un vistazo a http://headjs.com/
Que la fuente te acompañe...
fuente
Recomendaría usar Grunt.js . Es una herramienta de automatización que tiene minificadores disponibles como complementos y se puede ejecutar en su terminal a través de Node.js. No debería ser necesario minimizar PHP ya que el código se ejecuta en el lado del servidor y solo su salida HTML se envía al cliente.
Puedes encontrar los complementos disponibles aquí
fuente
He tenido buenos resultados con Closure Compiler .
Está desarrollado por Google y escrito en Java. Está empaquetado para sistemas basados en Debian
closure-compiler
y se instala fácilmente en sistemas Ubuntu. Como no usa una GUI, requiere undefault-jre-headless
paquete más liviano .Es más lento que el compresor YUI, pero el tamaño del archivo resultante es (ligeramente) más pequeño. También imprime mensajes de advertencia útiles, similares a los compiladores para otros lenguajes de programación.
Documentación: Comenzando
Uso:
fuente
Otra opción es usar el
npx
comando de Node.js.npx
ejecuta un comando de un paquete Node.js sin instalarlo explícitamente.fuente