angular - Angular,2个模块的错误声明,如何解决?
问题描述
当我运行ng serve
应用程序时。
但是,当我运行时ng build --prod
,它给了我一个错误footerComponent
,说我已经在 2 个模块中声明了它。这怎么可能?
这是完整的错误:
ERROR in Type FooterComponent in C:/Users/matte/Documents/GitHub /latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana/src/app/footer /footer.component.ts is part of the declarations of 2 modules: AppModule in C:/Users/matte/Documents/GitHub/latavolaitaliana/Sito Ufficiale /FE/latavolaitaliana/src/app/app.module.ts and FooterModule in C:/Users/matte/Documents/GitHub/latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana /src/app/footer/footer.module.ts! Please consider moving FooterComponent in C:/Users/matte/Documents /GitHub/latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana/src/app/footer /footer.component.ts to a higher module that imports AppModule in C:/Users/matte/Documents/GitHub/latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana /src/app/app.module.ts and FooterModule in C:/Users/matte/Documents/GitHub /latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana/src/app/footer /footer.module.ts. You can also create a new NgModule that exports and includes FooterComponent in C:/Users/matte/Documents/GitHub/latavolaitaliana/Sito Ufficiale/F/latavolaitaliana /src/app/footer/footer.component.ts then import that NgModule in AppModule in C:/Users/matte /Documents/GitHub/latavolaitaliana/Sito Ufficiale/FE /latavolaitaliana/src/app/app.module.ts and FooterModule in C:/Users/matte /Documents/GitHub/latavolaitaliana/Sito Ufficiale/FE/latavolaitaliana/src/app/footer/footer.module.ts.
这是footer.module.ts:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FooterComponent } from './footer.component';
import { Routes, RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
const routes: Routes = [
{
path: '',
component: FooterComponent
}
];
@NgModule({
declarations: [FooterComponent],
imports: [NgbModule,RouterModule.forChild(routes)],
})
export class FooterModule { }
`
这是app.module.ts
:
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
FooterComponent,
],
imports: [
BrowserModule,
HomeModule,
FiverulesModule,
ContactModule,
RegisterModule,
LoginPageModule,
NewsletterModule,
FytModule,
EventModule,
ZuggModule,
VdgModule,
CibourModule,
MdaModule,
BlogModule,
FormsModule,
ReactiveFormsModule,
NgbModule,
HttpClientModule,
AppRoutingModule
],
providers: [
{
provide:HTTP_INTERCEPTORS, useClass:BasicAuthHtppInterceptorService, multi:true
}
],
bootstrap: [AppComponent]
})
export class AppModule { }`
解决方案
您已经FooterComponent
在两者中声明了footer.module.ts
and app.module.ts
(请参阅装饰器declarations
内部的属性)。@NgModule
仅在一个模块中声明组件。如果需要在两个模块中共享,建议在外部模块中声明它。
我认为,FooterComponent
需要从footer.module.ts
. 由于HeaderComponent
在中声明,app.module.ts
我假设FooterComponent
也不需要在中声明app.module.ts
。
页脚.module.ts:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FooterComponent } from './footer.component';
import { Routes, RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
const routes: Routes = [
{
path: '',
component: FooterComponent
}
];
@NgModule({
imports: [NgbModule,RouterModule.forChild(routes)],
})
export class FooterModule { }
app.module.ts
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
FooterComponent,
],
imports: [
BrowserModule,
HomeModule,
FiverulesModule,
ContactModule,
RegisterModule,
LoginPageModule,
NewsletterModule,
FytModule,
EventModule,
ZuggModule,
VdgModule,
CibourModule,
MdaModule,
BlogModule,
FormsModule,
ReactiveFormsModule,
NgbModule,
HttpClientModule,
AppRoutingModule
],
providers: [
{
provide:HTTP_INTERCEPTORS, useClass:BasicAuthHtppInterceptorService, multi:true
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
推荐阅读
- scala - 如何在heroku上部署lagom scala
- javascript - 如何访问 chrome 浏览器的打印对话框以使用 chrome 扩展进行 DOM 操作
- jenkins - 来自服务器的错误(未找到):deployments.apps
- python - 将数据框列除以特定单元格
- flutter - 在 Flutter 中接收与 WhatsApp 相同的呼叫
- php - 从 json 数组 PHP 范围 [0] => Array , [1] => Array 获取数据
- powershell - 如何使用powershell将“\\”替换为“\”?
- python - 添加 df 列在另一个 df 中为索引值和动态源列查找匹配值?
- javascript - 如何使 Javascript Count Up 计时器工作
- java - How to enter OTP automatically without clicking another OTP text box?