angularjs - oclazyloadprovider
Angularjs: ocLazyLoad vs Requirejs (2)
Estoy trabajando en un gran proyecto de angluar y, obviamente, necesitamos una forma de cargar de forma perezosa nuestros scripts.
He trabajado con require.js antes y es bastante bueno, pero el problema es que después de concatenar y minimizar nuestros archivos, obtuvimos un archivo 1.5M js.
Así que acabo de encontrar OcLazyload y parece prometedor, pero vi muchos ejemplos en la web que usan tanto require como ocLazyLoad, estoy un poco confundido en cuanto a por qué querría usar ambos. ¿No están los dos haciendo lo mismo?
Necesitas tanto ocLazyLoad como RequireJS porque ahora tratas con dos conceptos de módulos separados: tus módulos de javascript y los módulos internos angulares.
Después del arranque inicial, angularjs ya no permite el registro de nuevos módulos y componentes como directivas y controladores (al menos no se utiliza de forma estándar).
RequireJS solo carga archivos javascript pero no registra los nuevos módulos y componentes angulares en este nuevo código
Lo que ocLazyLoad hace es permitirle cargar sus archivos adicionales utilizando un cargador de módulos de terceros como RequireJS y lo más importante: registra en ángulo los nuevos módulos y componentes en el código cargado de manera perezosa.
En resumen, puede cargar el código de manera perezosa solo con RequireJS, pero no puede cargar módulos y componentes angulares solo con RequireJS. Hay una necesidad de trabajo extra, como este realizado por ocLazyLoad.
Puedes usar RequireJS con ocLazyLoad pero no lo recomiendo, solo es posible porque la gente me pidió que lo hiciera y fue fácil de integrar. No necesita RequireJS porque ocLazyLoad incluye sus propios cargadores para archivos js / css / templates, y puede cargar cualquier tipo de archivo, no solo módulos angulares.
Si desea cargar de forma lenta los módulos Angular, necesitará un lib para registrarlos con Angular (o espere Angular 1.5 que le permitirá hacerlo).
La conclusión es: puede usar RequireJS con ocLazyLoad, o simplemente ocLazyLoad (recomendado), pero no puede usar solo RequireJS