Aquí están mis "pautas". Tenga en cuenta que ninguno de estos son formales, simplemente parecen lo correcto.
Todo el código JS compartida vive en el directorio SITE/javascripts
, pero es cargado en
Para todo el sitio cosas (como jQuery, o mi sitio application.js ancho) 'niveles', la amplia disposición del sitio (esto ser una página maestra en ASP.net) incluye el archivo. Las etiquetas script
van en la parte superior de la página.
También hay material para toda la región (p. Ej .: código js que solo se necesita en la sección de administración del sitio). Estas regiones tienen un diseño común (que puede incluir las etiquetas de secuencia de comandos) o generarán un parcial común, y ese parcial puede incluir las etiquetas de secuencia de comandos)
Para elementos menos compartidos (di mi biblioteca que solo se necesita en una algunos lugares) luego puse una etiqueta script
en esas páginas HTML individualmente. Las etiquetas de script van en la parte superior de la página.
Para cosas que solo son relevantes para una sola página, solo escribo javascript en línea. Intento mantenerlo lo más cerca posible de su "objetivo". Por ejemplo, si tengo algunos onclick js para un botón, la etiqueta script
irá debajo del botón.
Para JS en línea que no tiene un objetivo (por ejemplo: onload
eventos) va en la parte inferior de la página.
Entonces, ¿cómo entra algo en una biblioteca localizada o en una biblioteca de todo el sitio ?.
- La primera vez que lo necesite, escribirlo en línea
- La próxima vez que lo necesite, tire del código en línea hasta una biblioteca localizada
- Si está haciendo referencia a un cierto código en una biblioteca localizada de (aproximadamente) 3 o más lugares, extraiga el código a una biblioteca de toda la región
- Si es necesario desde más de una región, extráigalo a una biblioteca de todo el sitio.
Una queja común acerca de un sistema como este, es que terminas con 10 o 20 pequeños archivos JS, donde 2 o 3 archivos JS grandes funcionarán mejor desde el punto de vista de redes. Sin embargo, ambos raíles y ASP.NET tienen características que manejan la combinación y almacenamiento en caché de múltiples archivos JS en uno o más archivos 'super' js para situaciones de producción.
Recomendaría utilizar funciones como esta en lugar de comprometer la calidad/legibilidad del código fuente real.
¡Excelente sugerencia! Nuestra aplicación ha hecho que sea una buena práctica poner tanto javascript en los archivos js incluidos como sea posible, ya que tenemos un alto porcentaje de usuarios que se espera que marquen a través de los módems de 56K. –
Gracias! Creo que para la mayoría de los desarrolladores arrojar todo en un archivo parece una práctica horrible. Pero a veces el rendimiento supera la limpieza del código. –