2010-05-25 17 views
7

Compressed, jQuery is ~70KB in size (uncompressed: >200KB). No vi una forma de excluir partes raramente usadas como con jQuery UI. ¿Cómo puedo reducir el tamaño de archivo (comprimido y minificado) de jQuery? Estoy bastante preocupado porque las líneas de discado y las máquinas lentas/navegadores son muy comunes entre los usuarios de mi sitio.¿Es jQuery modular? Cómo recortarlo?

Mi principal preocupación es analizar la duración de JavaScript en el navegador. En máquinas más antiguas, esto lleva cientos de milisegundos. La transferencia de red es un costo único que hace esto un poco más tolerable.

+1

Pero se 24kb minified y gziped ... – Yacoby

+5

... Y si utiliza la versión de CDN es mucho menor aún que el promedio de todos sus usuarios. Personalmente, me pregunto por cuánto tiempo hasta que los navegadores comiencen a hornearlo. –

+0

Consulte mi pregunta: http://stackoverflow.com/questions/1333465/is-it-possible-to-extract-a-subset-of-jquery – Skilldrick

Respuesta

2

24kb minimizado y gzipped no valen la pena el esfuerzo en mi humilde opinión.

17

No hay servicio (como por jQuery UI) donde se puede escoger y elegir la funcionalidad. Pero para ayudar a:

  1. El versión miniaturizada es menos de 25k, que ayuda. La versión no minificada nunca debería bajar a la máquina del cliente.
  2. Siempre hacen referencia a él desde el mismo lugar , y el navegador del cliente debe almacenar en caché.
  3. puede hacer referencia a sus bibliotecas de JavaScript después de que su contenido HTML, por lo que la carga inicial debe parecer más rápido a la humana.
  4. haga referencia a su biblioteca jquery desde un dominio diferente al suyo, como desde google. There are several advantages to this:
    • Es probable que obtener el formulario sirvió un lugar más cerca de sus clientes
    • Aumenta la probabilidad de que se puede descargar de forma paralela a otros recursos, especialmente con navegadores antiguos que sólo descargará 2 artículos desde una dominio a la vez.
    • Aumenta la posibilidad de que no tengan que cargar jQuery en todo para su página, porque ya está en caché desde este sitio de uso común.
+0

Supongo que no hay servicio porque la mayoría de los complementos dependen de que toda la funcionalidad esté allí. – usr

+0

@usr: ¡Buen punto! –

+0

jquery 2.0.2 tiene 82 kb minificado. ¡Eso es mucho! – Pascal

0

jQuery no es modular. Incluso con acceso telefónico no creo que 24kb sea un gran problema.

+4

Son solo cinco segundos. – usr

1

La versión minimizada es 24kb minificada y comprimida en gz. jQuery UI se incluye por separado y es modular y tiene un paquete que le permite elegir qué partes de la interfaz de usuario jQuery desea incluir.

Si hace referencia a que desde el Google o Microsoft CDN de entonces también tendrá en caché en el navegador, no sólo para su sitio, pero cualquier sitio que utiliza la CDN.

1

No se puede predecir con exactitud cuándo se hizo el cambio, pero el equipo de jQuery ahora permitirá a los desarrolladores para compilar su propio jQuery construye utilizando Nodo JS. NPM (que es efectivamente parte de Node ahora), y Grunt son prerrequisitos.

proceso de construcción

La costumbre parece permitir a los desarrolladores para excluir componentes clave como los módulos .ajax y .Effects.

Los detalles se pueden encontrar en el archivo léame del proyecto JQuery github.

https://github.com/jquery/jquery

Cuestiones relacionadas