2009-12-30 17 views
8

Estoy empezando a aprender JavaScript y jQuery. Me las arreglé para hacer algunos ajustes y cosas, todo está bien hasta ahora. Pero estaba pensando si es una buena práctica mezclar múltiples archivos jQuery y complementos. Por ejemplo:Mezcla varios archivos jQuery: ¿práctica recomendada?

Tengo jQuery 1.3.2 min.js, jQuery easing 1.3.js, jQuery Cycle min.js y jQuery UI. ¿Se recomienda juntar jQuery (main), jQuery easing y jQuery cycle en un solo archivo?

Por favor, dame un poco de luz aquí.

Gracias,

+0

Buena primera pregunta, bienvenido a Stack Overflow! –

Respuesta

2

No, me gustaría mantener los archivos separados. Mantiene la funcionalidad separada, y hace que sea más fácil volver a agregar las versiones posteriores de los complementos si lo desea.

Además, editando el archivo para incluir todo el código del complemento, está introduciendo riesgos de forma inherente, ya que el archivo en sí no habrá estado sujeto a la prueba de los autores de la base de código original.

Ciertamente, yo diría que los beneficios son considerablemente superados por las trampas.

+0

Me inclinaría por mantener separados los archivos solo por las posibles variables de problemas nombradas de la misma manera, sin tener elementos separados por espacios de nombres, etc.Si desea reducir el ancho de banda, minimizar el código antes de la implementación puede ser algo a tener en cuenta. – Chris

+0

Muchas gracias por su respuesta clara. Ustedes tienen un punto fuerte allí. Ahora estoy mucho más aliviado de ver que no es un crimen si los recopilo o los mantengo separados. – Vitor

+0

Tengo un voto negativo para esto. No es que me moleste, pero sería bueno saber wh –

5

Puede hacerlo. Ahorra la cantidad de solicitudes HTTP para transportar todo el código JS. Es un poco más difícil de mantener, pero en mi opinión no supera los beneficios que usted (y el cliente) tienen con menos solicitudes HTTP.

Si está utilizando un lenguaje del lado del servidor y buenas herramientas de implementación, incluso puede automatizar la minificación y fusión de archivos JS antes de su publicación. También lo hacemos aquí con un poco de ayuda de YUI Compressor y algunas líneas de código Java en una aplicación por lotes. Funciona muy bien, los usuarios finales tienen la ventaja de menos solicitudes HTTP y los desarrolladores tienen el beneficio de no hacer todo lo que la fusión y el mantenimiento de forma manual.

+0

Muchas gracias por su respuesta clara. Temía que se considerara algo "rudo", ¿sabes? :-) – Vitor

4

Teniendo en cuenta que Google está considerando considerar la velocidad de respuesta del sitio como un calificador de rango, es mejor que compile todas las JS en un solo archivo. YSlow es una buena herramienta para ayudarlo a determinar la forma más óptima de hacer este tipo de cosas.

+1

YSlow es una gran herramienta de análisis de rendimiento, pero no veo cómo eso ayudaría en la decisión de minificar los archivos JS o no. Aún más, YSlow * recomienda * hacerlo, independientemente de lo que tenga. Esto simplemente responde implícitamente "sí, debes hacer". – BalusC

+0

@BalusC Correcto, eso es básicamente lo que estaba tratando de decir en mi estilo prolijo. :) –

+0

Muchas gracias por su respuesta clara. No estoy muy familiarizado con el trato con YUI, pero estoy dispuesto a aprender. Si uso un compilador de YUI en línea, ¿los resultados serán los mismos? – Vitor

6

Mantenga los archivos separados y use su back-end para minimizarlos y descomprimirlos como parte de su proceso de implementación. Como han mencionado otros, esto evitará que los usuarios realicen solicitudes innecesarias y le ahorrará tener que mantener un gran archivo feo.

El beneficio adicional aquí es que puede mantener los archivos completos, detallados y comentados para todos estos en su árbol de fuentes (para leer/etc) mientras sirve los comprimidos a los usuarios.

+0

Muchas gracias por su respuesta clara. Una sugerencia impresionante sobre el back-end gzipping, pero estoy en un hosting compartido que actualmente no es compatible con eso. :-(Maldición ... – Vitor

+0

Puede comprimir manualmente la salida. Los detalles dependen del idioma del lado del servidor en cuestión. – BalusC

+1

Normalmente necesita activar el soporte de activos comprimidos en apache, afaik. Está bien si no puede hacerlo funcionar con hosting compartido. Solo recuerde volver a visitarlo cuando se mude a VPS :) – rfunduk

2

Probablemente sea una respuesta tardía, pero trataría de servir tantos archivos como pudiera de Google, Microsoft, etc. CDN. Incluso si hace referencia a varios archivos, las posibilidades de que alguien ya haya descargado archivos de otro sitio sean altas y evitarán volver a descargarlas.

En cuanto a JavaScript personalizado y personalizado, escribo el 99% de mi JS en un plugin jQuery, incluso si solo voy a usar ese complemento en un formulario. Entonces puedo combinar todas mis JS en un archivo, ejecutarlo a través de Google Closure y tenerlo listo para funcionar.

El otro 1% es donde cada página invoca los complementos y pasa los parámetros que necesita.

+0

Muchas gracias, Mark. Me diste muchas ideas aquí. :) – Vitor

Cuestiones relacionadas