Bootstrap módulos múltiples o individuales basados en URL en main.ts

Estoy trabajando con un proyecto web (.NET Framework MVC) que no se puede transferir completamente a un proyecto angular completo, por lo que no puedo usar el enrutamiento angular para la carga diferida, pero tampoco quiero cargar todo donde están los componentes angulares usado. Es una solución empresarial en la que no es fácil (y barato) decir: "¡Hey, utilicemos completamente angular y olvidémonos del antiguo proyecto!".

Así que he resuelto esto, en mi opinión, de una manera limpia para cargar diferentes módulos basados en URL, para evitar cargar todo junto:

main.ts

console.log("bootstrapping start");
if (window.location.pathname.toLowerCase().includes("contactplans/details")) {
    console.log("bootstrapping contactplan details");
    platformBrowserDynamic().bootstrapModule(ContactplanDetailsModule)
        .catch(err => console.log(err));
} else if (window.location.pathname.toLowerCase().includes("contactplans/index") || window.location.pathname.toLowerCase().endsWith("contactplans") || window.location.pathname.toLowerCase().includes("settings/contactplans")) {
    console.log("bootstrapping contactplan index");
    platformBrowserDynamic().bootstrapModule(ContactplanListModule) //contact plan index and settings page
        .catch(err => console.log(err));
} 
console.log("bootstrap decision done, bootstrapping menu");
platformBrowserDynamic().bootstrapModule(MenuModule)
    .catch(err => console.log(err));

e modo que, según la URL, carga módulos y en cada página carga el módulo de menú.

Por el momento, tengo que hacerlo de esta manera, este es solo un pequeño ejemplo de que el uso de angular crecerá significativamente en más y más páginas individuales hasta que podamos 'cambiar' más fácilmente a un proyecto angular completo (dentro de .NET Core, que funciona increíblemente juntos).

Entonces, esto funciona bien endesarroll. Utilizandong build --watch hace las cosas deseadas. Ahora en producción, ejecutandong build --prod crea problemas. Para mí se parece más a unaerro entonces algo más.

En la siguiente captura de pantalla demuestro lo que se produce después deng build --prod cuando hago modificaciones al código anterior.

Haga clic aquí para mostrar @ más gran

Así que como puede ver, cuando solo usa una línea de bootstrap, funciona bien, sin errores.

Pero cuando tengo múltiples como quiero tener, cambia el Módulo real afunction() {} que luego da el error de consola:

Uncaught Error: No NgModule metadata found for 'function(){}'.

Es esto realmente un error o estoy haciendo algo ma

Respuestas a la pregunta(1)

Su respuesta a la pregunta