Website-Suche

Projektweite Javascript/TypeScript-Sprachfehler durch integrierte Sprach-Erweiterung


Ich erhalte folgenden Fehler in VSCode, sobald ich meinen Arbeitsbereich öffne.

To enable project-wide JavaScript/TypeScript language features, exclude large folders with source files that you do not work on. 
Source: TypeScript and Javascript Language Feat... [BUTTON: CONFIGURE EXCLUDES]

Ich klicke auf die Schaltfläche Configure Excludes in der Nachricht und es öffnet die folgende Datei FRONTENDAPP/jsconfig.json

{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]}

Es sieht für mich so aus, als wäre es gemäß der untenstehenden Dokumentation korrekt konfiguriert. : https://code.visualstudio.com/docs/languages/javascript

Warum also die ganze Zeit der Fehler?

Mein Arbeitsbereich ist wie folgt eingerichtet:

FOLDER: NOTES
FOLDER: FRONTENDAPP
FOLDER: BACKENDAPP

Jeder Ordner als eine jsconfig.json-Datei.

Die jeweilige Datei in den NOTES und BACKENDAPP ist dieselbe und sieht wie folgt aus:

{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]}

Antwort #1

Ordner mit vielen Dateien identifizieren: du -a | cut -d/ -f2 | sort | uniq -c | sort -nr

162114 node_modules
5837 .git
4967 concat-stats-for
 443 app
  77 tests
  72 dist
   8 config
   7 public

Überprüfen Sie Ordner, die in jsconfig.json nicht ausgeschlossen sind, auf JS- und TS-Dateien

find concat-stats-for -type f | sed -e 's/.*\.//' | sort | uniq -c | sort -n | grep -Ei '(js|ts)$'

  42 ts
3003 js

Wenn der Ordner kein App-Code ist, füge den genannten Ordner zur jsconfig.json Ausschlussliste hinzu.

Antwort #2

Ich hatte die gleichen Probleme und mir wurde klar:

  1. Ich hatte node_modules in Unterordnern
  2. Ich hatte Kopien von dist (wie dist1, dist2) zum Debuggen, die in git ignoriert, aber nicht in vscode ignoriert wurden.
  3. Ich hatte .npm und .npm-tmp Ordner mit vielen Sachen darin.
  4. Abgesehen von dist hatte ich auch einen weiteren tmp-Ordner .app-cache.

Am Ende hatte ich den folgenden Eintrag in /jsconfig.json (leicht redundant für die Lesbarkeit), um die Warnung verschwinden zu lassen:

  "exclude": [
    ".git",
    ".app-cache",
    ".npm",
    ".npm-tmp",
    "dist",
    "dist*",
    "node_modules",
    "subfolder/dist",
    "subfolder/node_modules",
    "**/dist/*",
    "**/node_modules/*",
  ]
}

Verwandte Artikel