首页 > 解决方案 > ng Build Prod 错误:说组件在两个模块中声明但它是同一个模块

问题描述

我正在尝试运行 ng build --prod 命令,但我不断收到此错误:

在“PATH”/siteSecurity.component.ts 中键入SiteSecurity是 2 个模块声明的一部分:“PATH”/siteSecurity.module.ts 中的 SiteSecurityModule 和“PATH”/siteSecurity.Module.ts 中的 SiteSecurityModule!

请注意,“PATH”是相同的。它说我的组件由两个不同的模块声明,但它指向同一个模块。

代码:

siteSecurity.routing.ts

import { ModuleWithProviders } from '@angular/core';
import { RouterModule } from '@angular/router';
import { SiteSecurity } from './siteSecurity.component';
import { AuthGuard } from '../../../../../ReusableServices/AuthGuard';


export const SiteSecurityRouting: ModuleWithProviders = RouterModule.forChild([
    {path: 'Datahub/Admin/Auth/SiteSecurity', component: SiteSecurity, canActivate: [AuthGuard]}
]);

siteSecurity.module.ts

import { NgModule }           from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { SharedModule } from '../../../../../ReusableComponents/SharedModule';
import { SiteSecurity } from './siteSecurity.component';
import { SiteSecurityRouting } from './SiteSecurity.routing';
import { SiteSecurityService } from './siteSecurity.service';

@NgModule({
    imports: [BrowserModule, SiteSecurityRouting, SharedModule, FormsModule],
    declarations: [SiteSecurity],
    providers: [SiteSecurityService]
})
export class SiteSecurityModule {
}

SiteSecurityModule 被导入到父模块中,并且不会在其他任何地方引用或导入。

我怀疑这与SiteSecurity在路由文件和模块文件中的事实有关,但是从任一位置删除它都会引发错误。有没有人见过这个?我究竟做错了什么?

@angular/cli 版本 6.2.4

标签: angulartypescriptangular6

解决方案


导入路径区分大小写,导入中的大写 M 可能是根本问题。


推荐阅读