editado para aclarar:Cargando jQuery con RequireJS - ¿Qué es mejor, una versión local o una CDN?
En términos de rendimiento (aunque eso es todavía un término salvaje, lo sé), que es mejor - la carga de una versión local, o una versión de CDN de jQuery, sobre RequireJS?
Para el registro, RequireJS online doc contiene algún pasaje que parece desalentar CDN usando, aunque no estoy muy seguro de 100% sobre lo que significa:
No mezcle CDN de carga con configuración de cuña en una generación. Escenario de ejemplo: carga jQuery desde el CDN pero usa la configuración shim para cargar algo como la versión original de Backbone que depende de jQuery. Cuando realice la compilación, asegúrese de alinear jQuery en el archivo generado y no lo cargue desde el CDN. De lo contrario, Backbone se insertará en el archivo creado y se ejecutará antes de que se cargue la jQuery cargada con CDN. Esto es porque la configuración shim solo demora la carga de los archivos hasta que se carguen las dependencias , pero no realiza ningún ajuste automático de definir. Después de una compilación, las dependencias ya están en línea, la configuración shim no puede retrasar la ejecución del código no definido() 'd hasta más adelante. define() 'd módulos funcionan con código CDN cargado después de una compilación porque envuelven adecuadamente su origen en la función de definición de fábrica que no se ejecutará hasta que se carguen las dependencias. Entonces, la lección: shim config es una medida provisional para código no modular, código heredado. define() 'd los módulos son mejores.
Theoratically, utilizando un archivo de jQuery CDN resultaría en más de 1 solicitud HTTP (no puede ser combinado con otros archivos JS utilizando r.js), pero tiene la ventaja potencial de que sus visitantes pueden ya han almacenado en caché la CDN versión de otros sitios que han visitado.
Sin embargo, si lo tengo derecho de la información buscado en Google, que todavía necesario ofrecer un local de jQuery copiar a r.js, como el archivo JS minified resultante seguiría siendo necesario para contener una copia de la jQuery módulo para garantizar la consistencia de la dependencia. Eso daría como resultado cargar jQuery tanto en local como en CDN. (Espero que tenga esta parte, ¿verdad?)
Entonces, ¿qué camino es mejor?
¿Está teniendo en cuenta que si carga la copia local, se concatenará en un archivo signle js? Entonces al cargar la versión de CDN está agregando la sobrecarga de una solicitud adicional a otro dominio ... – JasonStoltz