¿Es de alguna manera posible cargar diferentes módulos en el tiempo de ejecución de mi aplicación angular 2, desde diferentes servidores y, de ser así, cómo puedo lograrlo?
Me gustaría que mi aplicación cargue diferentes componentes de la aplicación general desde servidores aislados (A, B, C), para que puedan eliminarse y actualizarse independientemente de la aplicación principal y cualquier componente que esté incluido en A, B o C. no se cargará. Los 3 módulos que se muestran en la parte inferior tendrían los componentes, pero la aplicación principal declararía en su HTML dónde debería cargar el componente.
ACTUALIZAR
La carga diferida a través de rutas no es lo que estoy buscando, los 3 módulos deben ser módulos completamente independientes que tengan su propio repositorio, proyecto, alojamiento, enz.
Un poco tarde, pero puede usar el mecanismo de carga diferida en las rutas para hacer exactamente lo que quiere.
Este artículo explica cómo cargar un módulo de paquete web desde otra fuente: Solución: cargar paquetes de Webpack 2 compilados de forma independiente de forma dinámica
En las rutas, define una devolución de llamada en la sección de niños de carga:
const appRoutes: Routes = [ {path: '', component: MainComponent}, {path: 'modulea', loadchildren: loadModuleA} ]el método loadModuleA se vería así:
export function loadModuleA() { return new Promise((resolve, reject) => { // the method from the article loadPlugin('path/to/server/of/moduleA', (exports) => { // The Submodule must export ModuleA resolve(exports.ModuleA); }); }); }