Tengo mi script de inicialización principal que llama require() y una de las dependencias es un marco de utilidades, pero algunos de los otros módulos que estoy especificando requieren () también ellos mismos han definido este marco como una dependencia.Cómo maneja AMD (específicamente RequireJs) dependencias en varios módulos
Por ejemplo (Init.js.):
require(['module-a', 'module-b', 'module-c'], function(a, b, c){
// where module-c is the framework
});
Y a continuación, en 'módulo-a' Tengo:
define(['module-c'], function(c){
// utilize module-c framework
});
Entonces, ¿cómo AMD/RequireJS manejan este escenario, ¿Se carga el mismo marco dos veces?
Cualquier ayuda apreciada.
Saludos cordiales, Marcos
Muchas gracias por confirmar! Eso es exactamente lo que esperaba que ocurriera porque, en mi opinión, la especificación de la dependencia dentro de cada módulo tenía más sentido ya que significaba que sería capaz de tomar ese módulo y volver a utilizarlo en otro proyecto totalmente diferente. – Integralist
Internamente, el cargador AMD realiza un seguimiento de (es decir, almacena en caché) todos los módulos.Cuando los módulos se optimizan/concatenan juntos, esto no es interesante. Sin embargo, si alguno de los módulos se carga justo a tiempo, es importante tener en cuenta que el cargador de AMD realiza un seguimiento de _requests_ para que dos solicitudes casi simultáneas no intenten descargar el mismo módulo más de una vez. – unscriptable