javascript - Definiera en TypeScript-debugvariabel


Jag springer in i en vägg med vad jag antar borde vara en enkel uppgift - jag vill ha en enda variabel som avgör om applikationen är i felsökningsläge - alltså debug=false så att jag kan använda denna variabel, som du kanske förväntar dig, i vilken klass som helst och logga meddelanden därefter. Irriterande nog, oavsett vad jag försöker, kan jag helt enkelt inte få tillgång till denna variabel.

Jag har en app.ts-fil som importerar varje klass och skapar instanser av dem. Att definiera en global variabel högst upp i den här filen fungerade inte, och på samma sätt fungerade det inte att definiera dem i en global.d.ts-fil heller - kompilatorn kan helt enkelt inte se dem. För protokollets skull ser min tsconfig.json-fil ut så här:

{
  "files": [
    "./resources/assets/js/declarations/**/*.d.ts"
  ],
  "compilerOptions": {
    "noImplicitAny": true,
    "target": "es2015"
  }
}

Själva global.d.ts-filen är otroligt enkel...

declare let appDebug: boolean;

Och dess värde är inställt i app.ts-filen som nämnts tidigare. Vad är problemet? Hur kan jag i princip skicka detta värde till varje klass?

Svar #1

Inställningen files stöder inte globs/mönster - bara en uttrycklig lista av filer, så du bör se ett fel när du försöker kompilera i TypeScript via tsc -p . som klagar på "./resources/assets/js/declarations/**/*.d.ts"-delen.

Dokumentation här: http://www.typescriptlang.org/docs/handbook/tsconfig-json.html