tsconfig.tpl.json
In der tsconfig.json
werden alle Optionen des TypeScript-Kompilers eingestellt. Dieser prüft beispielsweise ob API-Aufrufe korrekt benutzt werden.
Dafür werden zur Analyse des Quelltextes sogenannte Typdefinitionen von jQuery, dem Framework und den Controls benötigt. Diese werden über die NuGet-Pakete mitgeliefert. Da diese Pfade nicht immer am gleichen Ort liegen, bearbeitet der Anwender nur diese template-Datei. Aus dieser wird von Visual Studio die richtige tsconfig.json
erstellt.
compilerOptions
Voreingestellt ist ein Standard-Satz von Optionen im Bereich compilerOptions
. Diese können verändert werden. Jedoch ist es möglich, dass anschließend ein Projekt nicht mehr gebaut werden kann oder nicht mehr in allen gewünschten Browsern funktioniert.
Siehe hierzu die offizielle Dokumentation: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
include
Im Bereich include
werden Typ-Definitionen eingebunden für APIs, die nicht vom Browser selbst kommen. Zwingend nötig ist der Eintrag
"$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"
welcher auf jQuery, Framework und die System-Controls referenziert. Soll beispielsweise in einer Control-Factory ein TcHmiButton erstellt werden, so muss das NuGet-Paket Beckhoff.TwinCAT.HMI.Controls
eingebunden werden und diese Zeile ergänzt werden:
"$(Beckhoff.TwinCAT.HMI.Controls).InstallPath/TcHmiButton/TcHmiButton.d.ts"
files
Unterhalb von Files müssen alle TypeScript-Dateien einzeln in der richtigen Reihenfolge eingebunden werden, welche vom TypeScript-Kompilers übersetzt werden sollen. Neue Dateien für Funktionen oder Controls werden hier automatisch ergänzt, jedoch kann auch ein manueller Eingriff erforderlich sein.
Der TypeScript-Kompilers erstellt daraufhin JavaScript-Dateien mit dem gleichen Basisnamen nur mit der Endung .js
statt .ts
. Diese ist beispielsweise bei Controls in der description.json einzutragen.