Angular 7: Как создавать сценарии и стили при маршрутизации в другие приложения - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть 2 приложения: клиент, администратор.

Структура файла приложения выглядит примерно так:

├─ projects/
|   ├─ admin/
|   |   ├─ admin.module.ts
|   |   ├─ admin.component.ts
|   |   └─ profile/
|   |      └─ profile.component.ts
|   └─ client/
|      ├─ client.module.ts
|      ├─ client.component.ts
|      ├─ home/
|      |   └─ home.component.ts
|      └─ login/
|          └─ login.component.ts
└─ src/
    └─ app/
       ├─ app.module.ts
       ├─ app.component.ts
       └─ app.routing.ts

Вот мой angular.json:

{
"projects": {
    "default": {
      "root": "",
      "sourceRoot": "src",
      "architect": {
        "build": {
          "options": {
            "styles": [],
            "scripts": []
          }
      },
    "admin": {
      "root": "projects/admin/",
      "sourceRoot": "projects/admin/src",
      "architect": {
        "build": {
          "options": {
            "styles": [
              "projects/admin/src/assets/styles.css",
              "projects/admin/src/assets/bootstrap.min.css",
              "projects/admin/src/assets/dataTables.bootstrap.min.css",
              "projects/admin/src/assets/buttons.bootstrap.min.css",
              "projects/admin/src/assets/custom.min.css"
            ],
            "scripts": [
              "projects/admin/src/assets/bootstrap.min.js",
              "projects/admin/src/assets/dataTables.bootstrap.min.js",
              "projects/admin/src/assets/buttons.bootstrap.min.js",
              "projects/admin/src/assets/custom.min.js"
            ]
          }
      },
    "client": {
      "root": "projects/client/",
      "sourceRoot": "projects/client/src",
      "architect": {
        "build": {
          "options": {
            "styles": [
              "projects/client/src/assets/styles.css",
              "projects/client/src/assets/core.min.css",
              "projects/client/src/assets/custom.min.css"
            ],
            "scripts": [
              "projects/client/src/assets/core.min.js",
              "projects/client/src/assets/custom.min.js"
            ]
          }
      }
    }
"defaultProject": "default"
}

Вот мой AdminModule (admin.module.ts):

const routes: Routes = [
  {
    path: 'admin',
    component: AdminLayoutComponent,
    children: [
      { path: 'profile', component: AdminProfileComponent }
    ]
  }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AdminModule { }

Вот мой ClientModule (client.module.ts):

const routes: Routes = [
  { path: 'login', component: LoginComponent },

  {
    path: '',
    component: ClientLayoutComponent,
    children: [
      { path: '', component: ClientHomeComponent, pathMatch: 'full' }
    ]
  },

  // otherwise redirect to home
  { path: '**', redirectTo: '' }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class ClientModule { }

Вот мой AppModule (app.module.ts):

@NgModule({
  declarations: [],
  imports: [
    BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),
    HttpClientModule,
    FormsModule,
    AdminModule,
    ClientModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Проблема в том, что при маршрутизации к любому компоненту других приложений (Admin / Client) я хочу создать все сценарии и стили, объявленные в angular.json, но это не так.У вас есть какие-либо решения для решения этой проблемы?

Извините за мой плохой английский.Надеюсь, вы понимаете.Большое спасибо.

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