2010-10-13 25 views
5

¿Cuáles son las ventajas de utilizar un archivo javascript externo? Simplemente no puedo entenderlo, veo sitios web grandes que los usan varias veces en lugar de incluirlos en el servidor. ¿Es solo para el almacenamiento en caché?¿por qué usar javascript externo?

Si se trata de una cuestión de código limpio y separación de preocupaciones, puede incluirlo desde el lado del servidor en el html. Por ejemplo, uso SMARTY y puedo simplemente incluir el archivo {include file='javascript.js} dentro de t. Si se trata de rendimiento, no puedo ver nada más que una solicitud http adicional que hace que el archivo externo sea más lento. Estoy seguro de que me estoy perdiendo algo porque todos los grandes sitios web todavía hacen esto.

¿Es por el almacenamiento en caché del archivo? mis javascripts son dinámicos y no deben almacenarse en caché de todos modos.

podría alguien ayudarme a tomar la decisión correcta de elegir qué hacer con mis archivos de JavaScript.

ps: ¿puede un usuario de 1.5K crear una etiqueta para javascript externo?

Respuesta

5

Lo más importante es que el archivo está en la memoria caché del navegador. Cuantos menos bytes se deben enviar desde el servidor, mejor. Esta es una gran parte del rendimiento web.

En segundo lugar, proporciona modularidad.

No estoy seguro de por qué su JavaScript es dinámico, pero le sugiero que lo reescriba de una manera que elimine esa necesidad. Eso en sí mismo podría ser un problema para ti en el futuro.

+0

porque uso técnicas AJAX y el código debe ser diferente para cada situación. Y no quiero poner código JavaScript en línea para todo debido a la modularidad. – Neo

+0

Usar AJAX no es razón para JavaScript dinámico. Si el código debe diferir para diferentes situaciones, entonces debe modificar sus funciones para evitar eso. La secuencia de comandos debe ser modular. Piensa OOP. –

+0

es exactamente por eso que mi javascript es dinámico. Php lo crea con la sintaxis correcta basada en la página. la razón es complicada ya que esto es parte de un proyecto de migración de un antiguo marco a uno nuevo. – Neo

0

también ayudan a los desarrolladores a separar diferentes áreas conceptuales de su código. Puede ser realmente molesto mirar cientos o miles de líneas de js en un solo archivo, además de html complicado.

+0

es por eso que hay servidores incluidos. – Neo

+0

@neo que no parece ser lo que es un SSI ... – hvgotcodes

+0

no, no estoy hablando de SSI, sino literalmente de una inclusión en el servidor. Con php, en mi caso con SMARTY – Neo

0

Además de lo dicho @Gabriel, sino que también ayuda a utiliza la misma función en diferentes páginas, withouth la necesidad de ellos (documentos .html) a ser más grandes.