javascript - tag - Llenar archivos.js vs CDN
title of page html (4)
¿Por qué no puedes agruparlos y colocarlos en CDN? Difícilmente debería ser una decisión de uno u otro?
Si tiene que elegir uno u otro, depende de cuántos archivos .js
esté incluyendo. Para una pequeña cantidad de archivos, sugeriría que una CDN sería más rápida, donde, como para una mayor cantidad de archivos, un conjunto de archivos .js
sería definitivamente más rápido. Donde sería el cambio, es algo con lo que debes experimentar.
Para mejorar el rendimiento de nuestras páginas web, se recomienda utilizar CDN para servir archivos .js
en nuestras páginas web. Eso tiene sentido.
Además, se recomienda agrupar nuestros archivos .js
para reducir el número de solicitudes que se realizan al servidor en carga.
Entonces, tenemos que sentarnos y tomar una decisión si usamos CDN o paquetes de archivos .js
.
¿Cuáles son los pros y los contras? ¿Cuáles tienen más sentido?
Como otros ya han indicado, la respuesta es ambas si es posible. Incluido (y minificante) da un beneficio a sus usuarios porque disminuye el peso de la página. El CDN beneficia a sus servidores porque está descargando el trabajo. En términos generales, tampoco es necesario optimizar, a menos que haya observado problemas de rendimiento o simplemente no tenga nada mejor que hacer.
Hay algunas cosas en las que debes pensar ...
¿Cuánto de JS necesita cargar temprano en la carga de la página, y cuánto puede retrasar hasta más tarde?
Si puede retrasar la carga de JS (por ejemplo, ponerlo en la parte inferior de la página) o cargarlo de forma asíncrona como lo hace Google Analytics, entonces minimizará la cantidad de tiempo que la descarga de JS gasta bloqueando el hilo de la interfaz de usuario.
Después de averiguar cómo se puede dividir la carga de JS, me ocuparé de la fusión / minificación de los diversos archivos JS: reducir las solicitudes HTTP es clave para mejorar el rendimiento.
Luego, mire moviéndose al CDN y asegúrese de que el CDN pueda servir el contenido JS comprimido y le permita establecer encabezados para que esté "almacenado en caché para siempre" (necesitará versionar los archivos si almacena en caché para siempre). Un CDN ayuda a reducir la latencia pero también reduce el tamaño al no tener cookies
Otra cosa que podría considerar es configurar un dominio separado para el contenido estático, señalarlo a su servidor (s) mientras ordena las cosas y luego cambiar a un CDN si parece que vale la pena.
Andy
Mi respuesta: ambas . Agrúpelos y colóquelos en un CDN.
La desventaja de hacer esto? Depende ¿Cómo se ve el proceso de construcción? ¿Se puede automatizar fácilmente la agrupación y la minificación? ¿Estás usando Yahoo YUI o Google Closure o algo más?
Además, si hay una gran cantidad de jQuery dependiente de la GUI, puede haber una pérdida de tiempo de fricción debido a elementos / efectos / css que cambian constantemente.
Las pruebas también son importantes porque debido a posibles rarezas de minificación.
En pocas palabras: 5 archivos javascript agrupados de forma segura en 1 archivo === 4 solicitudes menos.
Una página con solo Html antiguo y una referencia javascript externa === 2 solicitudes a su servidor. Sin embargo, una página con solo Html antiguo y una referencia javascript externa en un CDN === 1 solicitud a su servidor.
Actualmente estamos utilizando las herramientas de cierre de Google. Google Closure Inspector ayuda con lo siguiente:
Closure Compiler modifica su código JavaScript original y produce código que es más pequeño y más eficiente que el original, pero más difícil de leer y depurar. Closure Inspector ayuda al proporcionar una función de asignación de fuente, que identifica la línea del código fuente original que corresponde al código compilado.