Лучшие практики создания общего модуля ng

Я хочу, наконец, добавить в приложение различные модули NgModules. В настоящее время у нас есть один большой, в котором есть все, и для нашей новой функции / страницы мы хотим создать новый модуль. Однако возникает вопрос, учитывая общие модули, компоненты, иконки fontawesome. Как лучше всего ими поделиться?

Вот отрывок из текущего

      @NgModule({
  declarations: [
    AppComponent,
   ... a lot more components here
  ],
  imports: [
    BrowserModule,
    .. more imports here
  ],
  providers: (
    [
      TitleCasePipe,
      TranslocoDatePipe,
    ]
  )
  bootstrap: [AppComponent],
})
export class AppModule {
 

  constructor(library: FaIconLibrary) {
   //  FONTAWESOME_ICONS is a const array with long list of icons
    FONTAWESOME_ICONS.forEach((icon) => {
      library.addIcons(icon)
    })
  }
}

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

      @NgModule({
  declarations: [
    DomainComponent,
    .. more components
  ],
  imports: [
    ApiModule,
    .. more modules
  ],
  providers: (
    [
      TitleCasePipe,
      TranslocoDatePipe,
    ]
  )
  exports: [
   .. all the shared components and modules
  ],
})
export class SharedModule {

  constructor(library: FaIconLibrary) {
    FONTAWESOME_ICONS.forEach((icon) => {
      library.addIcons(icon)
    })
  }
}

Вот это AppModule после использования.

      @NgModule({
  declarations: [
    .. other app components
  ],
  imports: [SharedModule, VendorsModule, BrowserModule],
  bootstrap: [AppComponent],
})
export class AppModule {}

Вот это VendorsModule

      @NgModule({
  declarations: [VendorsComponent],
  imports: [SharedModule],
  exports: [VendorsComponent],
})
export class VendorsModule {}

Меня беспокоит, эффективно ли импортировать в каждый новый введенный модуль (потому что мне явно понадобятся некоторые общие компоненты, значки), даже если SharedModule включает компоненты и значки с отличным шрифтом, которые могут не иметь отношения к этому модулю.

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

Это скорее побочный вопрос, я не уверен, что это лучший способ импортировать иконки с потрясающим шрифтом (не бесплатно) в приложение.

0 ответов

Другие вопросы по тегам