Angular 角度7.2-“;组件是2个模块声明的一部分;但事实并非如此

Angular 角度7.2-“;组件是2个模块声明的一部分;但事实并非如此,angular,Angular,从Angular 5.2更新为Angular 7.2 我有一个组件在模块中只使用一次 但是,当我构建--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/das

从Angular 5.2更新为Angular 7.2

我有一个组件在模块中只使用一次

但是,当我构建--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 {}
这是仪表板布线模块

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 {}
这应该(并且已经)起作用了

在模块中导入组件时,是否需要考虑一些新的因素


关于

您可能有任何未使用或存档的模块,其中也声明了
仪表板组件


因为我看到有两个模块
dashboard
dashboard
。这就是错误所说的。

可能是您有任何未使用或存档的模块,其中也声明了
仪表板组件


因为我看到有两个模块
dashboard
dashboard
。这就是错误所说的。

C:/myproject/src/app/pages/仪表板中的仪表板模块 C:/myproject/src/app/pages/仪表板中的仪表板模块


dashBoard和dashBoard不相同,请将它们更改为只有一个版本(文件夹名称)

dashBoard模块,位于C:/myproject/src/app/pages/dashBoard/dashBoard.module.ts和 C:/myproject/src/app/pages/仪表板中的仪表板模块


dashBoard和dashBoard不一样,请将它们更改为只有一个版本(文件夹名称)

dashBoard RoutingModule
是什么样子的?给你……你可以使用
forChild
来声明路由,这是否意味着您的应用程序是延迟加载的?可能是您有任何未使用或存档的模块,其中也声明了
GraphComponent
。因为我看到有两个模块
dashboard
dashboard
。这就是错误所说的。@AmitChigadani很好的发现!
DashBoardRoutingModule
是什么样子的?给你……你使用
forChild
来声明你的路由,这是否意味着你的应用程序是延迟加载的?你可能有任何未使用或存档的模块,其中也声明了
GraphComponent
。因为我看到有两个模块
dashboard
dashboard
。这就是错误所说的。@AmitChigadani很好的发现!该死的,我希望有一些字符警告这些…我一直在寻找2天…感谢M8这是一个艰难的一个,这是2个小时,我在一个非常小的应用程序。该死的,我希望有一些字符警告这些…我一直在寻找2天…感谢M8这是一个艰难的一个,这是2个小时,我在一个非常小的应用程序。