tslint Fehler Überschattet, name: 'Beobachtbar'
Bin ich immer die folgende Fehlermeldung beim ausführen tslint, dass ich nicht immer vor..
ERROR: C:/...path..to../observable-debug-operator.ts[27, 13]: Shadowed name: 'Observable'
Ich folgte diesem tutorial für das hinzufügen einer debug-operator, Observable und es ist in Ordnung, außer ich bekomme die lint-Fehler. Ich hatte mit diesem debug-Betreiber für eine Weile ohne die lint-Fehler und ich bin nicht sicher, warum bekomme ich es jetzt.
Hier ist der code in Zeile 27 eine änderung der Typ-definition mit der debug-Methode
declare module 'rxjs/Observable' {
interface Observable<T> { //line 27
debug: (...any) => Observable<T>;
}
}
Weiß jemand wie ich das löschen kann diese Fusseln Fehler? Danke!
Die shadowing-name-Fehler in der Regel passiert, wenn Sie eine variable aus einer "außen" - Bereich, in einem inneren Umfang. Dies ist eine konfigurierbare linting option, die Sie deaktivieren möchten, aber ich bin mir nicht sicher, warum es wirft für Sie, wie es scheint zu funktionieren gut für mich und ich habe es nicht deaktiviert.
InformationsquelleAutor Devin Crossman | 2017-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein kurzes Beispiel für variable shadowing, um die Warnung deutlich.
Wenn Sie erklären, eine Erweiterung um eine Schnittstelle (D. H. beide Instanzen von
Observable
haben die gleichen gemeinsamen Wurzel) Sie sind technisch nicht shadowing, aber wenn Sie haben eineObservable
auf mehreren Ebenen, kann es machen es unklar, auf welche Sie sich beziehen.Können Sie abschalten shadowing Warnungen mit der option:
Ist Schnittstelle Abschattung ein problem, das in TypeScript?
Nicht wirklich - Sie fangen würde, eine situation, wo ein interface deklariert wurde innerhalb einer Funktion, in welche Sie auch fangen, weil wenn es war ein problem der TypeScript-compiler würde schon sagen Sie es ist ein problem... d.h. die member Liste würde zeigen Ihnen die richtigen Mitglieder, die in beide Bereiche.
Schnittstellen werden auch gelöscht - es gibt also keine post-compile Verwirrung, zum Beispiel wenn jemand Ihre Typoskript Bibliothek in einem JavaScript-Programm.
Ich bin froh, dass meine Meinung ändern, wenn jemand kann liefern ein realistisches Beispiel, wo die Schnittstelle shadowing würde zu einem problem führen.
Ich kann mir denken, schlimmere Dinge.
InformationsquelleAutor Fenton
Grundsätzlich Fenton erklärt es ganz gut mit seinem Beispiel.
Verschattung tritt auf, mit der Namenskonflikte.
Warum also nicht den Namen einer geschachtelten Variablen/parameter etwas anderes als x? 😉
Mein Beispiel:
Sie sehen, eine Menge von
error
Parameter.InformationsquelleAutor alex351
Nicht sicher, wie sich diese festen, aber habe ich neu installiert mein Paket Abhängigkeiten einschließlich tslint und jetzt habe ich keine Fehler mehr. Vielen Dank für Eure Zeit und versucht zu helfen 🙂
InformationsquelleAutor Devin Crossman