在Angular中导入很多模块

Ale*_*ich 2 import typescript material-design angular

我正在使用Angular 4和Angular Material构建应用程序,每个Material指令都要求我单独导入其模块.

例如,我正在构建一个导航栏,这就是它的nav.module.ts开始:

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {NavComponent} from './nav.component';
import { AngularFontAwesomeModule } from 'angular-font-awesome/angular-font-awesome';
import { MdInputModule } from '@angular/material';
import { MdMenuModule } from '@angular/material';
import {MdButtonModule} from '@angular/material';
import { FlexLayoutModule } from '@angular/flex-layout';
import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';

@NgModule({
imports: [
    CommonModule,
    AngularFontAwesomeModule,
    MdInputModule,
    MdMenuModule,
    MdButtonModule,
    FlexLayoutModule,
    HttpClientModule,

    ....
Run Code Online (Sandbox Code Playgroud)

现在只有3个Material模块,我需要稍后添加,除了Material,还有其他需要导入的模块......

刚刚开始从AngularJS迁移到Angular4,我觉得我做错了什么......有没有更好的方法来导入所有模块?我构建应用程序的方法是错误的吗?

Deb*_*ahK 6

您可以创建一个"共享"模块,用于导出所需的每个Material Design模块.然后,您只需将"共享"模块导入到需要它们的其他模块中.

这是一个例子:

在此输入图像描述

在这张图片中,我有一个共享模块,导出CommonModule和FormsModule.然后,ProductModule导入SharedModule以获取CommonModule和FormsModule提供的所有功能.

我在这里有关于此的YouTube视频:https://www.youtube.com/watch?v = antJ-P- Kow7o