JQuery tiene dos versiones para descargar, una es Producción (19KB, Minified y Gzip) , y la otra es Desarrollo (120KB, Código sin comprimir) .
Ahora la versión compacta de 19kb, si la descarga, verá que sigue siendo un código ejecutable javascript. ¿Cómo lo compactaron? ¿Y cómo puedo 'minificar' mi código así también?
javascript
gzip
KalEl
fuente
fuente
Respuestas:
Minificación de bricolaje
Ningún minificador puede comprimir correctamente un código incorrecto.
En este ejemplo, solo quiero mostrar cuánto hace un minificador.
Qué debes hacer antes de minificar
Y con respecto a jQuery ... no uso jQuery.jQuery es para navegadores antiguos, se hizo por razones de compatibilidad ... revisa caniuse.com, casi todo funciona en todos los navegadores (también ie10 está estandarizado ahora), creo que ahora es solo aquí para ralentizar su aplicación web ... si lo desea
$()
, debe crear su propia función simple. ¿Y por qué molestarse en comprimir su código si sus clientes necesitan descargar el script jquery de 100kb cada vez? ¿Qué tan grande es su código sin comprimir? 5-6kb ..? Por no hablar de las toneladas de complementos que agrega para hacerlo más fácil.Codigo original
Cuando escribes una función tienes una idea, empiezas a escribir cosas y a veces terminas con algo como el siguiente código. El código funciona. Ahora la mayoría de la gente deja de pensar y agrega esto a un minificador y lo publica.
Aquí está el código minificado (agregué las nuevas líneas)
Minificado usando ( http://javascript-minifier.com/ )
Pero, ¿son necesarios todos esos vars, ifs, bucles y definiciones?
La mayoría de las veces ¡ NO !
OPCIONAL (aumenta el rendimiento y acorta el código)
Math
)while
,for
... noforEach
)"{}","()",";",spaces,newlines
Ahora, si un minificador puede comprimir el código, lo estás haciendo mal.
Ningún minificador puede comprimir correctamente un código incorrecto.
Bricolaje
Hace exactamente lo mismo que los códigos anteriores.
Actuación
http://jsperf.com/diyminify
Siempre debes pensar en lo que necesitas:
Antes de decir "Nadie escribiría un código como el que se muestra a continuación", revise las primeras 10 preguntas aquí ...
Aquí hay algunos ejemplos comunes que veo cada diez minutos.
Quiere una condición reutilizable
Alerta sí solo si existe
Alerta si o no
Convertir un número en una cadena o viceversa
Redondea un número
Piso un número
caso de interruptor
trata de atraparlo
mas si
pero
indexOf
es lento lea esto https://stackoverflow.com/a/30335438/2450730números
Algunos buenos artículos / sitios que encontré sobre bit a bit / taquigrafía:
http://mudcu.be/journal/2011/11/bitwise-gems-and-other-optimizations/
http://www.140byt.es/
http://www.jquery4u.com/javascript/shorthand-javascript-techniques/
También hay muchos sitios jsperf que muestran el rendimiento de taquigrafía y bitwsie si busca con su motor de búsqueda favorito.
Podría ir a uno durante horas ... pero creo que es suficiente por ahora.
si tiene algunas preguntas, pregunte.
Y recuerda
Ningún minificador puede comprimir correctamente un código incorrecto.
fuente
(10.4899845 +.5)|0
resulta en 10 en lugar de 11.Puede usar uno de los muchos minificadores de JavaScript disponibles.
fuente
Google acaba de poner a disposición un compilador de JavaScript que puede minimizar su código, eliminar ramas de código inactivas y más optimizaciones.
compilador javascript de google
Saludos
K
fuente
Junto con la minificación, también puede codificarlo en base64. Hace que su archivo esté mucho más comprimido. Estoy seguro de que ha visto archivos js que están empaquetados dentro de una función eval () con parámetros (p, a, c, k, e, r) pasados. Lo leí en este artículo ¿Cómo minificar un archivo Javascript?
fuente
He escrito un pequeño script que llama a una API para minificar su script, compruébelo:
Uso:
fuente
Recientemente necesitaba realizar la misma tarea. Si bien los compresores enumerados en The JavaScript CompressorRater hacen un gran trabajo y la herramienta es muy útil, los compresores no funcionaban bien con el código jQuery que estoy usando ($ .getScript y jQuery.fn controles). Incluso el compresor de cierre de Google se ahogó en las mismas líneas. Si bien eventualmente podría haber solucionado los problemas, era mucho entrecerrar los ojos para hacer constantemente.
El que finalmente funcionó sin problemas fue UglifyJS (gracias @ Aries51 ), y la compresión fue solo un poco menor que todas las demás. Y similar a Google, tiene una API HTTP. Packer también es bueno y tiene implementación de lenguaje en Perl, PHP y .NET.
fuente
Actualmente hay 2 formas de minificar su código:
http://yui.github.io/yuicompressor/
Muchas de estas herramientas también están disponibles para Node y npm; es una buena práctica automatizar la mnificación de Javascript con Grunt.
http://www.modify-anything.com/
fuente
Puede usar el minificador de javascript de ubercompute.com para minimizar su código. Minimizará su código de javascript hasta un 75% de su versión original.
fuente