Я пытаюсь разбить модуль маршрутизации на модули, как показано ниже:
app.modules.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './main/app.component';
import { MaterialModule } from '@angular/material';
import { RouterModule, Routes } from '@angular/router';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
import { AppRoute } from './app.routes';
@NgModule({
declarations: [
AppComponent,
PageNotFoundComponent
],
imports: [
MaterialModule,
BrowserModule,
FormsModule,
HttpModule,
AppRoute
],
providers: [
UserService
],
bootstrap: [ AppComponent ],
})
export class AppModule { }
app.routes.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
const appRoutes: Routes = [
{ path: '', redirectTo: '/', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
]
@NgModule({
imports: [
RouterModule.forRoot(appRoutes)
],
exports: [
RouterModule
]
})
export class AppRoute { }
Этот метод работает нормально, но я продолжаю думать, что указал импорт компонентов, таких как страница, не найденная в обоих файлах. Есть ли способ модульного импорта компонентов в отдельные файлы, чтобы я мог включать этот файл как в модули, так и в маршруты? Я экспериментировал с ними:
app.routes.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './main/app.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
const appRoutes: Routes = [
{ path: '', redirectTo: '/', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
]
@NgModule({
declarations: [
AppComponent,
PageNotFoundComponent
],
imports: [
MaterialModule,
RouterModule.forRoot(appRoutes)
],
exports: [
RouterModule
]
})
export class AppRoute { }
и удалите избыточное объявление из app.modules.ts, но кажется, что angular не может найти ngIf и md-icon.
Моя цель здесь состоит в том, чтобы свести к минимуму количество файлов, которые пользователь должен редактировать в соответствии со своими потребностями при клонировании этого скелета. Я создаю скелет для своих будущих проектов, и я хочу свести к минимуму файлы, которые мне нужно редактировать. Если возможно, я не хочу трогать app.modules.ts, а редактирую только app.routes.ts и app.config.ts. Или еще лучше, отредактируйте только app.config.ts и поместите const appRoutes
в app.config.ts. Это вообще возможно? Каков наилучший способ свести к минимуму редактирование, чтобы нам не приходилось много вмешиваться в ненужные файлы.
Спасибо за помощь