typescript - WebStorm "Advarsel: Filen ble ikke kompilert fordi det ikke finnes en referanse fra tsconfig.json"


Jeg bruker WebStorm 2016.1.3 for et Angular 2-prosjekt med TypeScript. Når jeg aktiverer ts-kompilatoren i WebStorm og endrer en ts-fil (som da bør kompileres), får jeg følgende advarsel: Warning:File was not compiled because there is no a reference from tsconfig.json og filen blir ikke kompilert.

Min prosjektfil-/mappestruktur er nær stilguiden anbefalt av Angular 2:

Alle mine ts-filer er i en script-mappe. Rotappen ligger i den mappen, og hver komponent har sin egen undermappe som inneholder én ts-fil og én html-fil. Delte tjenester osv. ligger i en Shared-undermappe.

Min tsconfig ser slik ut og ligger i prosjektets rotmappe (overordnede mappe til script-mappen):

{
  "compilerOptions": {
    "outDir": "wwwroot/app",
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "inlineSourceMap": true,
    "inlineSources": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

Bortsett fra ts-filene direkte i script, gir alle andre ts-filer som er åpnet og endret i WebStorm advarselen ovenfor og kompileres ikke. I TypeScript-konsollen i WebStorm sier kompilatoren at den kompilere den endrede filen (dvs. endringsdetektering ser ut til å fungere), men den genererer ikke en transpilerte fil. Men når WebStorm starter, blir ALLE ts-filer i alle undermapper korrekt kompilert. Også, hvis jeg bruker tsc manuelt eller via gulp får jeg ingen problemer og alt kompileres som det skal, noe som forteller meg at min tsconfig er OK. Jeg prøvde å spesifisere mitt eget område i WebStorms TypeScript-kompilatorvalg. Det gjorde ingen forskjell. Track changes-alternativet er på. Jeg prøvde det med og uten Resolve objects using tsconfig.json-alternativet på. Det gjorde ingen forskjell.

Jeg klarer ikke å finne ut av denne tingen. Har noen andre støtt på - og forhåpentligvis fikset - dette problemet?

Svar #1

I tilfelle andre støter på dette problemet:

Jeg tror jeg har funnet hva som forårsaker problemet. Noen av filene mine hadde noe uvanlige stavemåter (i TypeScript-verdenen). For eksempel var en av tjenestene mine stavet "ApiService.ts". Etter at jeg endret dette til "apiService.ts" forsvant problemet. En annen var stavet "hhPager.component.ts". WebStorm likte ikke det heller. Jeg har nå endret det til "pager.component.ts" og WebStorm slappet av og oppførte seg som normalt.

Jeg har gjort JetBrains oppmerksom på det, og dette er for øyeblikket (8. juli 2016) en feil i deres problemsporer (https://youtrack.jetbrains.com/issue/WEB-22290).

Svar #2

Prøv å legge til blokken nedenfor i tsconfig.json

  "files": [
    "typings/tsd.d.ts",
    "main.ts"
  ]

Se om dette hjelper.

Relaterte artikler