【问题标题】:Angular: Component X is not included in a module and will not be available inside a templateAngular:组件 X 不包含在模块中,并且在模板中不可用
【发布时间】:2018-04-30 10:43:00
【问题描述】:

在我的 Angular 应用程序中,我在测试时使用的组件很少,并且没有包含在任何模块中。

在 WebStorm 中,它向我显示一个 lint 错误说 Component is not included in any module,而我知道这不包括在内,这就是目的。

有没有办法只禁用这个 lint 错误,同时保持所有其他的启用?

Angular:组件“ComponentName”未包含在模块中,并且 在模板中将不可用。考虑将其添加到 NgModule 声明。

我看到this threat,建议禁用所有 Angular lint 错误。但是,我认为仅针对一个问题这样做并不是一个好主意。我正在寻找一种仅禁用此错误的方法。

【问题讨论】:

  • 我也遇到了这个错误,导致我无法运行 UT,如果问题已解决,如果您能分享您的解决方案,我们将不胜感激。

标签: angular webstorm tslint


【解决方案1】:

Angular 语言服务不提供抑制特定规则/检查的可能性。请关注https://github.com/angular/angular/issues/13726 获取更新

【讨论】:

  • 运行npm install @angular/language-service 并重新启动IDE,解决了问题。 @angular/language-service 更新到版本 5.2.0
  • 为什么它不会自动执行。为什么我们必须安装一个额外的东西才能在 IDE 中获得它?
【解决方案2】:

在Webstorm上,您只需按Alt+Enter,它会显示一个列表,您可以在其中选择disable inspection,它会自动更新所有相同情况的检查规则。

【讨论】:

    【解决方案3】:

    为我工作:

    文件 -> 使缓存无效/重新启动 -> 无效并重新启动

    【讨论】:

    • 我认为这个对我有用。我会再验证一点并确认你@Filip
    【解决方案4】:

    我使用 PHPStorm 并且在使用 Angular 4 时也发现了这个问题。我通过 npm install @angular/language-service 修复了它。

    【讨论】:

    • visual studio 代码 有同样的问题。同样的解决方案也奏效了。
    【解决方案5】:

    您可以在类声明上方添加以下注释,它将跳过对该类的检查:

    // noinspection AngularMissingOrInvalidDeclarationInModule
    

    您还可以让编辑器为您添加该评论,方法是使用您将鼠标悬停在错误上并转到“检查选项 > 禁止声明”时获得的上下文菜单

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2015-04-18
      • 2012-03-26
      • 1970-01-01
      相关资源
      最近更新 更多