White Whale Studio

[Angular2] Can not determine the module class x Component in location/x.component.ts add xcomponent to Ng Module to fix it 본문

IT Engineering/Angular

[Angular2] Can not determine the module class x Component in location/x.component.ts add xcomponent to Ng Module to fix it

glorymind 2018. 4. 5. 14:57
반응형

Angular 테스트를 위해 ng serve를 했을 때는 아무런 문제가 없는데

배포를 위해 ng build --prod 를 돌리면

계속 HostDirective 인식이 안된다고 에러 메시지를 뱉는 통에 도대체 뭔가하면서 구글링을 했습니다만..

결국은 못찾고 혼자 이리저리 해보다가 해결했습니다.


그냥 에러 로그만 보면 HostDirective를 NgModule 쪽에 추가하라는 것인데

서브 폴더 내에 sub.module.ts 안에 있는 


@NgModule({
imports: [
CommonModule,
MenuRoutingModule,
EditModule,
SuiModule,
CovalentLayoutModule,
CovalentStepsModule,
CovalentFileModule,
MdIconModule,
CovalentExpansionPanelModule,
CovalentDataTableModule,
CovalentSearchModule,
CovalentPagingModule,
MdSelectModule,
FormsModule,
MdButtonModule,
CovalentDialogsModule,
MdCheckboxModule,
MdDatepickerModule,
CovalentVirtualScrollModule,
MdMenuModule,
CovalentLoadingModule,
MultipleDatePickerModule,
DndModule.forRoot()
],
declarations: [MenuComponent, MenuDetailComponent, HostDirective, ManageHostDirective, MenuMasterComponent, ManageDetailComponent, MenuVoucherComponent, VoucherDialogComponent, VoucherTypePipe],
providers: [TdDialogService, MenuService, TdLoadingService]
})

declarations 쪽에 해당 Directive 선언이 빠져있었습니다.


서브 아래 자식1, 자식2 기능별로 HostDirective가 생성되어 있었는데 이름이 같다보니 HostDirective가 추가 되어있는데 왜 에러가 발생한 것인지 알수가 없었던 것입니다.


결국 HostDirective를 각각 네이밍을 다르게 설정하고 declarations에 추가한 뒤 빌드를 해보니 정상적으로 빌드 되었습니다.

반응형
Comments