当前位置: 首页 > 知识库问答 >
问题:

无法确定组件5的模块

元叶秋
2023-03-14

当我使用“ng build--prod”构建Angular应用程序时,出现以下错误。当我使用Angular 4构建时,这是有效的,而使用Angular 5得到错误。有角度的5“ng发球”非常有效。

错误中出错:无法确定mypath/node\u modules/time ago管道/time ago管道中类TimeAgoPipe的模块。ts!将TimeAgoPipe添加到NgModule以修复它。

获取错误https://www.npmjs.com/package/time-ago-pipe

有什么解决办法吗?

共有3个答案

施鸿
2023-03-14

在我的例子中,错误是因为不同文件中同一类的多个定义。这是由于一些开发人员复制粘贴代码造成的。

充修能
2023-03-14

Angular 5,特别是Angular cli 1.5,已启用默认的提前编译功能,它需要知道在项目文件夹中找到的所有组件/管道等的模块。如果您有一些未在任何模块中声明的组件,它将抛出错误。

您可以在某些模块中声明TimeAgoPipe

@NgModule({
  declarations: [TimeAgoPipe, ...]
})
export class AppModule {}// for example can be any other used module

或者尝试在不提前编译的情况下运行构建,结果代码的运行速度会变慢

ng build --prod --aot=false

第三种方法,如果您根本不使用该管道,您可以将其添加到tsconfig.json中的排除文件中

{
  ...
  "exclude": [ "path/to/unused/component.ts", ... ]
}
王伯寅
2023-03-14

检查案例敏感度

import { MyComponent } from "./User/my-component";

在我的例子中,问题是文件夹用户是在我的导入语句中以U作为大写字母创建的。但实际上在磁盘上,它是在小情况下。当我重命名文件夹为用户(用u小写)在我的导入语句也,它为我工作。

import { MyComponent } from "./user/my-component";

因此,请检查导入路径的大小写敏感度。

 类似资料:
  • 无法执行目标组织。fortasoft:GradleMaven插件:1.0.8:在project server上调用(默认cli):执行目标组织的默认cli。fortasoft:GradleMaven插件:1.0.8:invoke失败:无法从“11.0.2”确定java版本。

  • 问题内容: 我有此数据: 当我运行此代码时: 因为我得到: 这就是我想要的。 但是如果我用1而不是0 按元组中的第二个数字分组,我只会得到: 即使还有其他元组在该1(第二个)位置具有“ 1”。 问题答案: itertools.groupby使用相同的密钥将 连续的 项目收集在一起。如果希望所有项目都使用相同的键,则必须先进行排序。

  • 我有以下 API 文档: 其中AuthError模式在一个名为components.yaml的单独的yaml文件中定义: 以及摇摆器配置: 但是当我尝试访问Swagger UI时,我得到以下错误: path./users.get.responses.403.schema.$ref 处的解析程序错误 无法解析引用:尝试解析相对 URL,但没有 basePath。path: 'components.y

  • 我正在使用JasperReports库从自定义Java应用程序生成PDF。然而,当在自定义可视化组件中呈现欧元符号时,生成的pdf显示的是一个符号(PhantomJs和Chromium都出现了这种情况)。报告(文本字段)中的其余欧元符号都正确显示了,尽管它们都使用了相同的字体。 另一方面,如果使用PhantomJs从JasperStudio呈现相同的报表,则显示正确的符号。 我已经检查了传递给ch

  • 因此,我刚刚更新到新的Visual studio版本,无法再从azure git repo推/拉/到azure git repo(克隆工作正常)。 我得到的确切错误是 无法确定此“dev.azure”的组织名称。com的远程url。确保凭证。已设置usehttppath配置值,或将组织名称设置为远程url“{org}@dev.azure”中的用户。com'。 只有pull命令显示了这个错误,其他所