Pregunta

Este concepto es nuevo para mí; lo encontré por primera vez en el Configurador de dependencia YUI.Básicamente, en lugar de tener múltiples solicitudes para muchos archivos, los archivos se encadenan en una solicitud http para reducir el tiempo de carga de la página.

¿Alguien sabe cómo implementar esto en una pila LAMP?(Vi que ya se hizo una pregunta similar, pero parece ser específico de ASP.

¡Gracias!

Actualizar:Ambas respuestas son útiles... (mi representante no es lo suficientemente alto como para comentar todavía, así que agrego algunos pensamientos de despedida aquí).yo también vine en otra publicación de blog con ejemplos específicos de PHP que podrían resultar útiles.Sin embargo, la respuesta de construcción de David me hace considerar un enfoque diferente.¡Gracias David!

¿Fue útil?

Solución

Hay varias formas, las dos más obvias serían:

  1. Cree una herramienta como YUI que cree una versión única y personalizada basada en los componentes que marcó según sea necesario para que aún pueda servir el archivo como estático.MooTools y jQuery UI proporcionan creadores de paquetes como este cuando descargas su paquete para brindarte la biblioteca más optimizada y eficiente posible.Estoy seguro de que existe una herramienta genérica para todo uso.
  2. Cree un script simple en Perl/PHP/Python/Ruby que proporcione un montón de archivos JavaScript según la solicitud.Entonces, "onerequest.js?load=ui&load=effects" iría a un script PHP que carga los archivos y les entrega el tipo de contenido correcto.Hay muchos ejemplos de esto pero personalmente no soy un fanático.

Prefiero no entregar archivos estáticos a través de ningún tipo de script, pero también me gusta desarrollar mi código con aproximadamente 10 archivos de clase pequeños separados sin el costo de 10 solicitudes HTTP.Así que se me ocurrió un proceso de compilación personalizado que combina todas las clases y funciones más comunes y luego las minimiza en un solo archivo como project.min.js y tiene una condición en todas mis vistas/plantillas que incluye este archivo en producción.

Editar: el "proceso de compilación personalizado" es en realidad un script en Perl extremadamente simple.Lee cada uno de los archivos que pasé como argumentos y los escribe en un archivo nuevo, opcionalmente pasando todo el archivo. JSMIN (disponible en todos tus idiomas favoritos) automáticamente.

En el comando se ve así:

perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js

Otros consejos

Hay una buena publicación de blog en este @ http://www.hunlock.com/blogs/Supercharged_Javascript.

lo que quieres es Minimizar.acabo de escribir un tutorial para configurarlo.

Capistrano es una herramienta de implementación web basada en Ruby bastante popular.Si lo está considerando o ya lo está usando, hay una gran joya que descubrirá las dependencias de CSS y Javascript, fusionará y minimizará los archivos.

gem install juicer

Desde el Página de GitHub del exprimidor, puede determinar qué archivos dependen entre sí y fusionarlos, reduciendo la cantidad de solicitudes http por página vista y mejorando así el rendimiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top