typescript - Kan ikke kompilere moduler med mindre --module-flagget er gitt


OPPDATERING:Problemet jeg hadde på den tiden skyldtes en feil i VS/Typescript. Dette problemet er nå løst. For øyeblikket er den eneste grunnen til at denne feilen oppstår at ingen modultype er valgt i Typescript-egenskapene. Se akseptert svar.

VS 15: asp.net MVC-prosjekt.

Jeg legger til en TypeScript-fil. Deretter setter jeg modulssystemet til System.

Jeg bygger deretter prosjektet.

Feilen oppstår: Kan ikke kompilere moduler med mindre --module-flagget er angitt.

Jeg sjekker deretter egenskapene til ts-filen. Jeg setter byggehandlingen til ingen. Feilen forsvinner.

Men hvis jeg starter med et nytt Typescript-prosjekt ved å bruke malen med Greeter-klassen, fungerer alt som forventet.

Men jeg har sett nøye på prosjektinnstillingene, og det er ingen forskjeller jeg kan se.

Jeg har lest alle andre svar på Stack Overflow om denne feilen, og ingen av dem har løst feilen.

Den eneste løsningen jeg har funnet er å sette «Kompiler ved lagring» til sann, og deretter sette byggehandlingen til «Ingen»

Svar #1

1 Åpne prosjektinnstillinger (høyreklikk på prosjektet ditt i Løsningsutforskeren, og klikk på «Egenskaper»).

2 Åpne TypeScript-fanen.

3 Velg AMD i modul system-seksjonen.

Svar #2

Så, dette skjer med oss hele tiden, men av forskjellige grunner. Vi sender all vår TypeScript-kompilering til Gulp (som kalles av en PreBuildEvent), så kompileringen fungerer fint, men vi får fortsatt denne feilen når vi ser på filen i Visual Studio.

Basert på dette, må vi fortelle Visual Studio at vi bruker AMD, så for å få til det, gjør følgende:

  • I Visual Studio, gå til Verktøy > Alternativer > Tekstredigering > TypeScript > Prosjekt
  • Merk av for "Kompiler automatisk TypeScript-filer som ikke er en del av et prosjekt"
  • Merk av for «Bruk AMD-kodegenerering for moduler som ikke er en del av et prosjekt»

På det tidspunktet kan du til og med fjerne merket for «Automatisk kompilering ...»-alternativet, det er bare det andre som må forbli merket.

Igjen, når vi støter på problemet, er det kun et problem under utviklingstid og påvirker ikke byggene våre (hverken lokalt eller på våre byggservere).

Relaterte artikler