[英]Angular 7.2 - “component is part of the declarations of 2 modules” but it is not
從Angular 5.2更新到Angular 7.2,
我有一個僅在模塊中使用一次的組件
但是當我“ ng build --prod”項目時,出現此錯誤
ERROR in : Type GraphComponent in C:/myproject/src/app/widgets/graph/graph.component.ts is part of the declarations of 2 modules:
DashBoardModule in C:/myproject/src/app/pages/dashBoard/dashBoard.module.ts and
DashBoardModule in C:/myproject/src/app/pages/dashboard/dashBoard.module.ts
請注意, 兩個模塊是相同的
我不能指責這里出了什么問題,這是我導入的組件:
import { Component, OnInit, Input,OnChanges,SimpleChange } from '@angular/core';
@Component({
selector: 'my-graph',
templateUrl: './graph.component.html',
styleUrls: ['./graph.component.css'],
})
export class GraphComponent implements OnInit,OnChanges {
...
}
這是我如何在模塊中導入組件
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule, FormBuilder } from '@angular/forms';
import { DashBoardComponent } from './dashBoard.component';
import { DashBoardService } from './dashBoard.service';
import { DashBoardRoutingModule } from './dashBoard.routing';
import { LoadingOverlayModule } from '../../widgets/loadingOverlay/loadingOverlay.module';
import { DataTableModule } from '../../widgets/dataTable/dataTable.module';
import { ERFormModule } from '../../widgets/erform/erform.module';
import { GraphComponent } from '../../widgets/graph/graph.component';
import { PageTitleService } from '../../widgets/pageTitle/pageTitle.service';
@NgModule({
imports: [
CommonModule,
FormsModule,
ReactiveFormsModule,
DataTableModule,
ERFormModule,
DashBoardRoutingModule,
LoadingOverlayModule
],
declarations: [
DashBoardComponent,
GraphComponent
],
providers: [DashBoardService, FormBuilder,PageTitleService],
})
export class DashBoardModule {}
這是DashBoardRoutingModule
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DashBoardComponent } from './dashBoard.component';
import { AuthGuardService } from '../../auth/authGuard.service';
const dashboardRoutes: Routes = [
{
path: 'dashBoard',
component: DashBoardComponent,
pathMatch: 'full',
canActivate: [AuthGuardService],
}
];
@NgModule({
imports: [
RouterModule.forChild(dashboardRoutes)
],
exports: [
RouterModule
]
})
export class DashBoardRoutingModule {}
這應該(並且正在)工作
在模塊中導入組件時需要考慮一些新的考慮嗎?
問候
可能是您有在其中還聲明了DashboardComponent
任何未使用或已歸檔的模塊。
因為我看到有兩個模塊dashboard
和dashBoard
。 那就是錯誤的意思。
C:/ myproject / src / app / pages / dashBoard /dashBoard.module.ts中的DashBoardModule和C:/ myproject / src / app / pages / 儀表板 /dashBoard.module.ts中的DashBoardModule
儀表板和儀表板不同,將它們更改為只有一個版本(文件夾的名稱)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.