如何用核心模块和功能模块构建应用程序并在不导入的情况下访问功能模块?

问题描述 投票:0回答:1

我正在开发一个项目,我需要将我的应用程序划分为不同的模块。我想创建一个导入功能模块的核心模块,然后让其他模块使用该核心模块来访问这些功能。问题是核心模块是在appModule中导入的,但我不能在其他模块中使用它

import { NgModule } from '@angular/core';
import { MaterialModule } from 'src/app/material.module';
import { TranslateModule } from '@ngx-translate/core';
@NgModule({
  imports: [TheModuleToUse],
  exports: [TheModuleToUse]
})
export class CoreModule {}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { CourseRoutingModule } from './Course-routing.module';
import { MaterialModule } from 'src/app/TheModuleToUse';

@NgModule({
  declarations: [CourseRoutingModule.components],
  imports: [CommonModule, DeveloperRoutingModule, TheModuleToUse]
})
export class CourseModule {}

现在在开发者模块中我不应该导入 TheModuleToUse 因为我已经将其导入到核心模块中并且核心模块已导入到 app.module.Ts 中

angular typescript
1个回答
0
投票

模块是一个单独的单元,您可以从中导出数据,但不能指望模块读取父模块的内容。

因此

CourseModule
必须有自己的
CoreModule
导入,因为
CoreModule
的导入对
CourseModule
不可见,即使您在
AppModule

上导入它

当您在多个其他模块之间共享一个模块时,提取仅发生一次,因此如果模块被加载,它会被重用,因此不存在一次又一次提取同一模块的开销!

© www.soinside.com 2019 - 2024. All rights reserved.