javascript - Fehler: 'types' kann nur in einer .ts-Datei verwendet werden - Visual Studio Code verwendet @ts-check
Ich fange an, TypeScript in einem Node-Projekt zu verwenden, an dem ich in Visual Studio Code arbeite. Ich wollte die „Opt-in“-Strategie verfolgen, ähnlich wie bei Flow. Daher habe ich // @ts-check oben in meiner .js-Datei eingefügt, in der Hoffnung, TS für diese Datei zu aktivieren. Letztendlich möchte ich das gleiche „Linting“-Erlebnis wie bei Flow, daher habe ich das Plugin TSLint installiert, damit ich Intellisense-Warnungen/Fehler sehen kann.
Aber mit meiner Datei sieht es so aus:
// @ts-check
module.exports = {
someMethod: (param: string): string => {
return param;
},
};
und meine tsconfig.json-Datei sieht so aus...
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"allowJs": true
}
}
Ich erhalte diesen Fehler: [js] 'types' kann nur in einer .ts-Datei verwendet werden. wie unten im Bild gezeigt.
Ich habe diese Frage gesehen, die empfohlen hat, die JavaScript-Validierung in VSCode zu deaktivieren, aber dann zeigt mir das keine TypeScript-Intellisense-Informationen an.
Ich habe versucht, tslint.jsEnable in meinen VSCode-Einstellungen wie in der TSLint-Erweiterungsdokumentation angegeben auf true zu setzen, aber es hat nichts gebracht.
Wie ist die richtige Einrichtung, um .js-Dateien mit TypeScript zu verwenden und Intellisense zu erhalten, damit ich weiß, welche Fehler in meinem Code sind, bevor ich irgendwelche TS-Befehle ausführe?
Antwort #1
Ich benutze Flow mit VSCode, hatte aber dasselbe Problem. Ich habe es mit diesen Schritten gelöst:
Installiere die Erweiterung Flow Language Support
Deaktivieren Sie die integrierte TypeScript-Erweiterung:
- Gehe zum Erweiterungen-Tab
- Suche nach @builtin TypeScript- und JavaScript-Sprachfeatures
- Klicken Sie auf Deaktivieren
Antwort #2
Verwenden Sie "javascript.validate.enable": false in Ihren VS Code-Einstellungen, es deaktiviert ESLINT nicht. Ich verwende sowohl ESLINT als auch Flow. Folgen Sie einfach den Anweisungen Flow Für VS Code Setup
Das Hinzufügen dieser Zeile in settings.json hilft "javascript.validate.enable": false
Antwort #3
Ich habe die folgenden Schritte unternommen, um das Problem zu beheben:
Gehe zu den Einstellungen und dann zu den Optionen:
Gehe nach den Einstellungen und suche in der Suchleiste nach javascript.validate und deaktiviere das Kontrollkästchen:
Wenn Sie es über JSON bearbeiten möchten, dann: Gehen Sie zu: Code -> Einstellungen -> Einstellungen -> Erweiterungen -> Scrollen Sie nach unten und finden Sie „In settings.json bearbeiten“.
dann hinzufügen
"javascript.validate.enable": false
Antwort #4
Für alle, die hier landen und bei denen alle anderen Lösungen nicht funktioniert haben, probiert dies aus. Ich benutze TypeScript + React und mein Problem war, dass ich die Dateien in VSCode als javascriptreact und nicht als typescriptreact zugeordnet habe, also überprüft eure Einstellungen auf die folgenden Einträge.
"files.associations": {
"*.tsx": "typescriptreact",
"*.ts": "typescriptreact"
},
Denken Sie daran, den TypeScript-Server neu zu starten in VS Code, nachdem Sie die Änderungen gespeichert haben: Strg-Shift-P -> TypeScript: TS-Server neu starten




