Как динамически импортировать компонент в угловой? - PullRequest
0 голосов
/ 26 марта 2019

Я занимаюсь разработкой углового проекта, состоящего из основного проекта, дюжины подпроектов и дюжины глобальных компонентов. Этот проект будет развернут у нескольких клиентов. Клиенты не будут физически владеть всеми подпроектами. У одних да, а у других только 3-4.

Я ищу способ обеспечить одинаковый код для всех, возможно, управлять тонкостями с помощью файла конфигурации. Теперь я застрял в отношении клиента, у которого нет одного подпроекта.

Этот компонент импортирован в мой app-routing.module.ts, конечно, у меня есть ошибка, которая говорит мне, что подпроект не найден. Я ищу способ сделать условный импорт или, возможно, другой способ, если вы его знаете, мое единственное условие - сохранить код одинаковым для всех.

приложение-routing.module.ts

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {AuthGuard} from './core/guards/auth.guard';

// Global components
import {HomeComponent} from './core/home/home.component';
import {LoginComponent} from './core/login/login.component';

// Sub projects
import {SubProject1Component} from '../../projects/sub1/sub1/src/app/sub1.component'; // <- Conditionnally ignore this
import {SubProject2Component} from '../../projects/sub2/sub2/src/app/sub2.component'; // <- Conditionnally ignore this
import {SubProject3Component} from '../../projects/sub3/sub3/src/app/sub3.component'; // <- Conditionnally ignore this

const appRoutes: Routes = [
  { path: 'login', component: LoginComponent, canActivate: [AuthGuard] },
  { path: 'home', component: HomeComponent, canActivate: [AuthGuard], children: [
      { path: 'sub1', component: SubProject1Component },
      { path: 'sub2', component: SubProject2Component },
      { path: 'sub3', component: SubProject3Component },
    ]},
  { path: '', redirectTo: 'home', pathMatch: 'full'},
];

@NgModule({
  declarations: [],
  imports: [
    RouterModule.forRoot(appRoutes)
  ],
  exports: [
    RouterModule
  ]
})
export class AppRoutingModule {}

Угловой CLI: 7,0,7

Угловой: 7.0.4

1 Ответ

0 голосов
/ 26 марта 2019

Вы проверяли это решение ?

Вы также можете использовать файл конфигурации для загрузки разных конфигураций (компонентов) для разных клиентов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...