Como realizar sites com centenas de páginas no Angular2

Estou preparando o site do SPA que contém centenas de páginas semelhantes a artigos (além de comércio eletrônico, login etc.). Todo artigo tem seu próprio URL. Eu quero realizá-lo usando Angular2. A única solução que encontrei até agora é:

1. para preparar centenas de componentes Agular2, um componente para cada artigo ...

... com templateUrl apontando para a marcação do artigo. Então, precisarei de centenas de componentes semelhantes a:

@core.Component({
  selector: 'article-1',
  templateUrl: 'article1.html'
})
export class Article1 {}

2. para exibir um artigo usandoAsyncRoute

VejoCarregamento lento de componentes de rota no Angular2

@core.Component({
  selector: 'article-wrapper',
  template: '<router-outlet></router-outlet>'
})
@router.RouteConfig([
  new router.AsyncRoute({
    path: '/article/:id',
    loader: () => {
      switch (id) {
        case 1: return Article1;
        case 2: return Article2;
          //... repeat it hundreds of times
      }
    },
    name: 'article'
  })
])
class ArticleWrapper { }

No Angular1, havia a diretiva ngInclude, que está ausente no Angular2 devido aos problemas de segurança (consulteaqui)

[Edit 1] Não há apenas um problema com o próprio código. O problema também é comnatureza estática&nbsp;desta solução. Se eu precisar de um site com sitemap e estrutura de página dinâmica - adicionar uma única página precisa de recompilação de todo o módulo JavaScript do ES6.

[Editar 2] O conceito "marcação x html como dados" (onde a marcação não é apenas HTML estático, mas também HTML com componentes ativos) é o conceito básico de toda a Web (todo CMS tem seus dados de marcação no banco de dados). Se não existe uma solução Angular2 para isso, ele nega esse conceito básico. Eu acredito que deve haver algum truque.