Bootstrap módulos múltiplos ou únicos com base no URL em main.ts

Estou trabalhando com um projeto da web (.NET Framework MVC) que não pode ser totalmente transferido para um projeto angular completo, por isso não posso usar o roteamento do angular para carregamento lento, mas também não quero carregar tudo onde estão os componentes angulares usava. É uma solução corporativa em que não é fácil (e barato) dizer: "Ei, vamos utilizar totalmente o angular e esquecer o projeto antigo!".

ntão resolvi isso, na minha opinião, de forma limpa para carregar diferentes módulos com base na URL, para evitar carregar tudo junt

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));

Assim, com base no URL, ele carrega módulos e em todas as páginas carrega o módulo de men

Por enquanto, eu meio que tenho que fazer dessa maneira, este é apenas um pequeno exemplo: o uso do angular aumentará significativamente em mais e mais páginas individuais até que possamos 'mudar' mais facilmente para um projeto angular completo (no .NET Core, que funciona muito bem em conjunto).

Então, isso funciona bem emdesenvolviment. Usandong build --watch faz as coisas desejadas. Agora em produção, executandong build --prod cria problemas. Para mim, parece mais umerr então outra coisa.

Na captura de tela abaixo, demonstro o que está sendo produzido apósng build --prod quando faço modificações no código acim

Clique aqui para mostrar

Como você pode ver, ao usar apenas uma linha de inicialização, ele funciona bem, sem erro

Mas quando tenho vários como gostaria, ele muda o módulo real parafunction() {}, que fornece o erro do console:

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

Isso é realmente um bug ou estou fazendo algo errado?

questionAnswers(1)

yourAnswerToTheQuestion