angular - 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
解决方案
导入路径区分大小写,导入中的大写 M 可能是根本问题。
推荐阅读
- reactjs - 如何修复该 fetchmetadata:sill resolvewithnewmodule react-is@16.8.6 检查可安装
- android - 谷歌云端点框架与 Android Studio 和 gradle 5.1.1 不兼容
- vhdl - 从文件中读取矩阵
- sql - 使用日期之间的减法来处理“order by”的问题(其中一个来自查询)
- css - 用于电子邮件格式的媒体查询不起作用
- asp.net-core - 如何使用本地 ADFS 验证和获取 ASP .NET CORE WEB API 应用程序的令牌?
- c++ - 行为:内存操作错误或内存泄漏 C++
- image - 提高 28 x 28 像素图像中单个字母识别的建议
- mapping - 根据启用的位数将标准数 n 位映射到 n 位的新系统
- java - 使用 java rest web 服务发布文件