Angular 角度7.2-“;组件是2个模块声明的一部分;但事实并非如此
从Angular 5.2更新为Angular 7.2 我有一个组件在模块中只使用一次 但是,当我构建--prod项目时,我得到了这个错误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
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个小时,我在一个非常小的应用程序。