Language-tools: Bei Verwendung des TypeScript-Präprozessors befindet sich die Warnung über nicht verwendete Exporteigenschaften in der falschen Zeile.

Erstellt am 27. Aug. 2020  ·  18Kommentare  ·  Quelle: sveltejs/language-tools

Beschreibe den Fehler
export let Anweisungen einer nicht verwendeten Eigenschaft führen zu einer Warnung. Die Warnung wird bei mir in der Zeile über der eigentlichen Eigenschaft angezeigt.

Fortpflanzen

Stellen Sie die Skriptsprache auf Typoskript ein ( lang="ts" oder type="text/typescript" ).
Deklarieren Sie eine Exporteigenschaft, verwenden Sie sie nirgendwo.

Erwartetes Verhalten

Die Warnung bezieht sich auf die Eigenschaft, die nicht verwendet wird.

Screenshots

image

Wenn sich die Eigenschaft in der ersten Zeile des Skripts befindet:

image

System (bitte füllen Sie die folgenden Informationen aus):

  • Betriebssystem: Windows 10, 64bit
  • IDE: VSCode
  • Plugin/Paket: Svelte für VSCode
bug

Alle 18 Kommentare

Versuchen Sie, Ihr @tsconfig/svelte auf den neuesten Stand zu bringen

Ich benutze das nicht.
Vorübergehend hinzugefügt, hat nichts gebracht.

Oh, ich dachte, Sie verwenden die offizielle Vorlage. Das Paket ist eine Basiskonfiguration für svelte. Sie können die extends Ihrer tsconfig.json aktualisieren.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

Duplikat von #333

@jasonyu123 Wie gesagt, ich habe die Basiskonfiguration vorübergehend hinzugefügt, aber es hat sich nichts geändert. Ich bekomme immer noch die Fehler in der falschen Zeile.

Können Sie dann versuchen, tsc auszuführen, um eine ts-Datei in Ihrem Arbeitsbereich zu kompilieren und zu sehen, ob die Ausgabedatei eine Quelldatei enthält?

Das Problem liegt an der Sourcemap. Wir verwenden den schlanken Compiler, um eine schlanke Diagnose zu erhalten. Wenn Sie eine svelte.config.js haben und Ihren Präprozessor darin angeben, würden wir diese zur Vorverarbeitung verwenden, ansonsten verwenden wir den offiziellen svelte-preprocess. Und wenn der Präprozessor keine Sourcemap zurückgibt, wäre die Warnung an einer falschen Position.

Außerdem überwachen wir keine Änderungen in der Datei tsconfig.json, also stellen Sie sicher, dass Sie den Sprachserver nach Änderungen neu starten.

Es generiert nicht immer Quellzuordnungen. Wenn ich tsc für eine einzelne Datei aufrufe, wird die tsconfig anscheinend nicht geladen; Wenn ich tsc -p . oder tsc --build tsconfig.json , wird die Quellkarte wie erwartet ausgegeben.

Kann ich mir Ihr svelte.config.js ansehen, wenn Sie es haben, auch welchen Präprozessor verwenden Sie?

Ich verwende den Standardprozessor, der im Auto-Modus svelte-preprocess . Ich habe ein minimales Beispiel-Repository erstellt, das die Fehler in der Eingabekomponente enthält.

Ich habe versucht, ein svelte.config.js erstellen und den Präprozessor explizit in den Auto-Modus zu setzen, spielte keine Rolle. Die explizite Verwendung von nur typescript mit einem Pfad zu tsconfig.json hat auch nichts bewirkt.

Ähm... das ist unerwartet, es würde nur funktionieren, wenn ich in tsconfig.json auch sourcemap auf true setze

Dann funktioniert das extends nicht ganz. Nun, ich habe nichts dagegen, das jetzt explizit zu setzen.
Vielen Dank

Ja, ich schaue mir kurz die Quelldatei des svelte-preprocess an. Es sieht so aus, als würde es extends nicht parsen.
Danke für das Problem!

Ich habe dieses Problem bei svelte-preprocess geöffnet, da laut der Dokumentation im automatischen Vorverarbeitungsmodus Quellzuordnungen generiert werden sollten. Update: Die Dokumente waren falsch, also müssen Sie das selbst auf true .

@brunnerh Wenn Sie "sourceMaps": true und die Basiskonfigurationsreferenz aus Ihrem tsconfig.json entfernen und stattdessen sveltePreprocess({sourceMap: true}) in Ihrem svelte.config.js ausführen, werden die Warnungen an der richtigen Stelle angezeigt? Linie dann?

@brunnerh Wenn Sie "sourceMaps": true und die Basiskonfigurationsreferenz aus Ihrem tsconfig.json entfernen und stattdessen sveltePreprocess({sourceMap: true}) in Ihrem svelte.config.js ausführen, werden die Warnungen an der richtigen Stelle angezeigt? Linie dann?

Nein, immer noch aus.

Es funktioniert also nur, wenn Sie "sourceMaps": true zu tsconfig.json hinzufügen?

Ja

Schließen, da es sich um Probleme im Zusammenhang mit svelte-preprocess . Das "Source Map wird nicht angewendet, wenn ich preprocess durch seine sourceMap-Option mitteile"-Problem ist in der neuesten Version behoben. Die " extends -Funktion von tsconfig.json nicht unterstützt" wird in https://github.com/sveltejs/svelte-preprocess/issues/300 verfolgt .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

shirakaba picture shirakaba  ·  4Kommentare

maximedupre picture maximedupre  ·  5Kommentare

matthewmueller picture matthewmueller  ·  3Kommentare

scippio picture scippio  ·  3Kommentare

PatrickG picture PatrickG  ·  3Kommentare