Vscode-ng-language-service: Komponente nicht in einer Modulwarnung für alle Komponenten enthalten, die nicht im Root-AppModule enthalten sind

Erstellt am 8. Dez. 2016  ·  30Kommentare  ·  Quelle: angular/vscode-ng-language-service

Hallo,

Das sieht sehr vielversprechend aus, kann es kaum erwarten, es zu benutzen!

Ich habe jedoch Probleme damit, Komponenten zu erkennen, die in Funktionsmodulen deklariert sind (sowohl faul geladen als auch nicht). Alle diese Komponenten haben die folgende Warnung (mit roten Kringeln unter dem Komponentendekorator).

[Angular] Component 'xxxComponent' is not included in a module and will not be available inside a template. Consider adding it to a NgModule declaration

Dies bedeutet, dass ich in Vorlagen (die Vorlage app.component.html im Stammmodul ist die einzige) in diesem Modul die Vervollständigung usw. erhalten kann, um für Anweisungen zu arbeiten, die sich im selben Modul befinden und integrierte eckige Anweisungen importieren. Jedoch bekomme ich Direktiven von meinen eigenen importierten Modulen folgendes.

[Angular] 'app-nav' is not a known element: 1. If 'app-nav' is an Angular component, then verify that it is part of this module. 2. If 'app-nav' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message.
Habe ich etwas verpasst oder ist das vielleicht ein Fehler?

Ich freue mich sehr, dies zu nutzen. Dadurch wird meine Angular 2-Codierungserfahrung so viel besser und ich hoffe, dass ich viel Zeit sparen kann. Vielen Dank!

bug tracking in angular

Hilfreichster Kommentar

Ich verwende Angular Language Service 0.1.3 und habe immer noch das gleiche Problem.

Alle 30 Kommentare

Es könnte ein Fehler sein, aber ich bin mir nicht sicher. Können Sie ein Repository erstellen, das dieses Problem reproduziert?

Dieser Fehler wird generiert, wenn Sie einen Verweis auf eine Komponente einfügen, die nicht in dem NgModule ist, in dem sie deklariert ist, oder in einem der NgModule s, die von ihrem Modul importiert werden.

Der Sprachdienst durchsucht das gesamte Projekt (alles, was in tsconfig.json enthalten ist) nach @NgModule -Deklarationen und erstellt ein Abhängigkeitsdiagramm zwischen den Komponenten und den Modulen. Der erste Fehler wird für Komponenten generiert, die nicht in einem Modul deklariert sind, und der zweite für Verweise auf Komponenten, die von dem Modul, in dem sich die Komponente befindet, nicht erreichbar sind.

Ich habe es gerade in einem neuen Angular-Cli-Projekt versucht, kann es aber anscheinend nicht reproduzieren. Nicht sicher, ob es sich um ein Problem handelt, das nur Projekte ab einer bestimmten Schwellengröße / Modulstruktur betrifft.

Das Projekt, in dem ich das Problem entdeckt habe, hat insgesamt 12 Module:

  • ein Kernmodul
  • ein gemeinsames Modul
  • 4 Funktionsmodule (mit etwas Verschachtelung)
  • 1 Root-App-Modul
  • 5 Routing-Module (entsprechend den 4 Funktionsmodulen und dem Single-Root-App-Modul)

Werde einen weiteren Blick darauf werfen und herumspielen, wenn ich die Gelegenheit bekomme zu sehen, ob ich herausfinden kann, an welchem ​​Punkt dies reproduziert wird.

Ich denke, das könnte mit # 36 zusammenhängen

Ich habe immer noch das gleiche Problem mit der neuesten Version.

Ich habe es geschafft, ein Szenario einzugrenzen, das den Fehler verursacht.
In einer einfachen Lösung, die mit dem neuesten Angular-Cli erstellt wurde, habe ich die folgende Struktur

  • Ein Root-AppModule

    • Eine AppComponent

  • Ein CoreModule.

    • Eine NavComponent

    • Eine HomeComponent

    • Ein AuthService

Wenn ich das AuthSevice in das Provider-Array des CoreModule einbinde und das CoreModule in das AppModule importiere, werden die folgenden Fehler angezeigt.
coremodule

navcomp
Der gleiche Fehler tritt auch bei der HomeComponent auf.

appcomponent

Wenn ich den AuthService aus dem Provider-Array im CoreModule auskommentiere, verschwinden die Fehler.
Die App funktioniert aber gut.

Ich habe das Beispiel in dieses Repository hochgeladen.

Hoffe, dies hilft, das Problem aufzuspüren.

Verfolgt als https://github.com/angular/angular/issues/14631.

Dieser Fehler wird geschlossen, wenn der Fix für die oben genannten Länder und eine neue Version von ngls.visx erstellt wird, die ihn enthält.

Dies wurde in 0.1.0 behoben

Habe immer noch das gleiche Problem, Version 0.1.3

Gerade 0.1.3 installiert, um dieses Plugin zu überprüfen. Den gleichen Fehler für ein Projekt erhalten, das einwandfrei funktioniert.

Es ist auch identifizierend

@veldirre Können Sie ein separates Problem erstellen und eine Möglichkeit anhängen, das Problem zu reproduzieren, das Sie haben? Dieses Problem wurde behoben. Sie haben wahrscheinlich ein anderes Problem, das ähnlich aussieht.

@jshea Ich bin nicht sicher, ob ich Ihr Problem verstehe. Können Sie eine separate Ausgabe öffnen und ein Projekt anhängen, das die Ausgabe reproduziert?

@chuckjaz Gibt es Debugging-Methoden, um dies zu untersuchen, sobald es auftritt? Keine meiner Nicht-Routenkomponenten wird als in der Moduldeklaration enthalten erkannt, aber das Reduzieren unserer Produktions-App auf ein minimales Beispiel wäre sehr zeitaufwändig (und bisher haben alle Spielzeugversionen, die ich zu drehen versucht habe, dies nicht getan zeigte das Problem).

Ich werde weiterhin versuchen, eine kleine Reproduktion zu machen, aber wenn es andere Ansätze gibt, die viel helfen würden.

Keine Ursache. Ich bin kurz nach dem Posten auf das Problem gestoßen: # 80.

@tdsmithATabc Die ursprüngliche Ursache für das ursprüngliche Problem dieses Threads wurde in der neuesten Version 0.1.3 behoben.

Ich habe jedoch festgestellt, dass bei einigen Komponenten gelegentlich immer noch der gleiche Fehler auftritt. Nach einigem Nachforschen stellte ich fest, dass diese verbleibenden Fehler durch ein anderes separates Problem Nr. 72 verursacht wurden.

Das Ändern von Verweisen für Dienste usw. in den fehlerhaften Komponenten in relative Pfade (im Gegensatz zu Pfaden relativ zum von tsconfig bereitgestellten baseUrl-Speicherort - standardmäßig der Ordner "src /") scheint eine Problemumgehung in den fehlerhaften Komponenten zu sein. Ich bin mir nicht sicher, ob dies das gleiche Problem ist, das Sie haben, aber ich dachte, ich würde es hier erwähnen.

Ah, ich habe gerade die letzte Nachricht erhalten, egal.

Trotzdem danke für den Tipp! Ich hatte auch einige Pfadprobleme, aber das lag daran, dass unser Setup _project-relative_ Pfade verwendete, die für die Entwicklung gut, aber für so ziemlich alles andere schrecklich sind ...

Das Upgrade des Angular Language Service von 0.1.2 auf 0.1.3 hat das Problem für mich behoben. Vielen Dank!

Ich verwende Angular Language Service 0.1.3 und habe immer noch das gleiche Problem.

Irgendwelche Neuigkeiten zu diesem Ding?
Immer noch das Problem mit 0.1.4

Ich hatte das gleiche Problem

Die Komponente 'xxxComponent' ist nicht in einem Modul enthalten und in einer Vorlage nicht verfügbar. Erwägen Sie, es einer NgModule-Deklaration hinzuzufügen

und während ich recherchierte und einige Threads mit fast demselben Problem las, verschwand der Fehler plötzlich (nach etwa 15 Minuten). Ich denke, es ist eher ein Zeitproblem, wenn Sie Komponenten ändern / hinzufügen

Immer noch das Problem mit 0.1.7

Begegnung damit am 0.1.9.

Reproduzierbar, indem Sie ein neues ionisches Projekt mit der Tutorial-Vorlage starten und eine neue Seite erstellen, für die die neue Seitenklasse in der Datei app.module.ts deklariert werden muss.

Ich bin in der Lage, dies zu beseitigen, indem ich das Projekt einfach wieder öffne, also nicht das Ende der Welt, sondern unpraktisch.

Haben Sie dieses Problem auf 0.1.9 mit Richtlinien

Ich kann das gleiche Verhalten wie @ josh-strickland-4c bestätigen
Hier meine VSCode Infos:
Version 1.19.3
Commit 7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba
Datum 2018-01-25T10: 36: 34.867Z
Shell 1.7.9
Renderer 58.0.3029.110
Knoten 7.9.0
Architektur x64

Ich kann dieses Problem mit der Version 0.1.9 mit Komponenten melden.

Ich habe den gleichen Fehler. b / c zuerst habe ich eine Komponente mit "ng gc post" erstellt, dann habe ich einen weiteren Ordner innerhalb von post erstellt und alle zuvor erstellten Dateien gepusht und alle Dateien umbenannt, post to post-create. dann habe ich den gleichen Fehler bekommen .. obwohl es einen Fehler gab, der durch VS-Code gesagt wurde, sagt meine Chromkonsole nichts. und es funktioniert.
1

Beule, gleiches Problem in 0.1.9 bei Verwendung von Lazy-Loading-Modulen. Wenn Details benötigt werden lmk.

Immer noch ein Problem mit 2018.2 in einem Bibliotheksprojekt (erstellt mit Angular Cli).

Gleiches gilt für mich im Webstorm-Projekt!

Das gleiche Problem mit WebStorm.
image
Angular Cli 6.2.3
Winkel 6.1.9

Dieses Problem wurde aufgrund von Inaktivität automatisch gesperrt.
Bitte reichen Sie ein neues Problem ein, wenn Sie auf ein ähnliches oder verwandtes Problem stoßen.

Lesen Sie mehr über unsere Richtlinien zum automatischen Sperren von Konversationen .

_Diese Aktion wurde automatisch von einem Bot ausgeführt._

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen