Требуется ли для модуля LazyLoaded, зависящего от импорта уровня Root, импорт зависимости? - PullRequest
0 голосов
/ 02 августа 2020

AppModule импортирует MatSnackBarModule. В LazyModule я зависим от MatSnackBarModule, но не импортирую его. Кажется, это работает, но правильно ли?

Я знаю, что многократный импорт модуля не повлияет на производительность из-за эффекта Tree-Shake, однако я хочу создать абстрактную службу, которая будет обрабатывать MatSnackBar. Если в будущем я захочу заменить MatSnackBar, мне нужно будет обновить только абстрактную службу и только импорт в модуле root.

1 Ответ

0 голосов
/ 02 августа 2020

Почему бы не создать shared.module.ts и импортировать и экспортировать все, что требуется в нескольких модулях. Затем просто импортируйте shared.module в разные / другие модули. Каждый раз, когда что-то нужно добавить / удалить / изменить, это должно происходить только в одном модуле.

Скажем:

shared.module.ts

import { foo } from 'bar';

@NgModule({
    imports: [
        foo
    ],
    exports: [
        foo
    ],
})
export class SharedModule { }

Then app.module.ts

import { SharedModule } from './shared.module';

@NgModule({
    imports: [
        SharedModule
    ]
})

Теперь, когда что-то добавляется в shared.module, оно автоматически добавляется ко всем другим модулям, которые его импортируют.

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