Hvordan stoppe Typescript-kompilatoren fra å generere JS- og JS.MAP-filer i Visual Studio 2017?


Jeg har noen typescript-filer for appen min myapp i mitt Visual Studio 2017 ASP.NET-prosjekt. Jeg bruker en gulp-oppgave for å generere JS-filene, så jeg vil ikke at bygg eller språkservice skal opprette disse JS- og JS.MAP-filene.

Slik ser TSCONFIG-filen min ut:

{
  "compileOnSave": false,
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "module": "system",
    "types": [ "" ],
    "lib": [
      "es6",
      "dom"
    ]
  },
  "include": [
    "./myapp/**/*"
  ]
}

Jeg prøvde følgende:

  1. Jeg la til myapp i exclude-seksjonen i tsconfig.js. Både js og js.map blir ikke generert da hvis jeg lukker Visual Studio og åpner det igjen. Men jeg ser mange kompileringsfeil.

  2. Jeg la til <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> i .csproj-filen. Jeg lukket VS 2017, åpnet det igjen og gjorde en bygging. Jeg ser JS- og JS.MAP-filene.

  3. Jeg endret BuildAction-egenskapen til ingen, men ser fortsatt JS- og JS.MAP-filene

Hva bør jeg gjøre for at syntakskontrollen av TS-filen skal fungere, men ikke generere noen JS- og JS.MAP-filer?

Svar #1

Prøv å legge til "noEmit": true i din tsconfig. Det bør forhindre at .js og .js.map blir generert.

Svar #2

Prøv å legge til "noEmitOnError": true i tsconfig-en din. Det bør forhindre at .js og .js.map genereres hvis det er noen feil i TS-filene.

Relaterte artikler