TypeScript: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 63: Zeile 63:
 
Eine Möglichkeit ist typescript-json-validator:
 
Eine Möglichkeit ist typescript-json-validator:
 
   npm install --save-dev typescript-json-validator
 
   npm install --save-dev typescript-json-validator
 +
 +
 +
In <code>src/types/types.ts</code> werden die zu validierenden Typen exportiert.
  
 
In der package.json wird unter "scripts" folgender Eintrag hinzugefügt:
 
In der package.json wird unter "scripts" folgender Eintrag hinzugefügt:
       "build:validators": "typescript-json-validator --defaultProps=false --useNamedExport --collection src/types/types.ts && sed -i -e \"s/= require('ajv')/from 'ajv'/\" -e s/\\\"format\\\":\\\"fast\\\",// -e s/\\\"nullable\\\":true,// -e s/\\\"uniqueItems\\\":true,// -e s/\\\"unicode\\\":true,// src/types/types.validator.ts",
+
       "build:validators": "typescript-json-validator --defaultProps=false --useNamedExport --collection src/types/types.ts && sed -i -e \"s/export {/export type {/\" -e s/\\\"format\\\":\\\"fast\\\",// -e s/\\\"nullable\\\":true,// -e s/\\\"uniqueItems\\\":true,// -e s/\\\"unicode\\\":true,// src/types/types.validator.ts",
 +
 
 +
Der <code>sed</code>-Befehl sollte folgende Fehler vermeiden:
 +
 
 +
*  "Das Argument vom Typ \"{ allErrors: true; coerceTypes: false; format: string; nullable: boolean; unicode: true; uniqueItems: boolean; useDefaults: false; }\" kann dem Parameter vom Typ \"Options\" nicht zugewiesen werden.\n  Das Objektliteral kann nur bekannte Eigenschaften angeben, und \"\"format\"\" ist im Typ \"Options\" nicht vorhanden.",
 +
* Das erneute Exportieren eines Typs erfordert bei Festlegung des Flags \"--isolatedModules\" die Verwendung von \"export type\".",
 +
  
  

Version vom 26. November 2022, 06:56 Uhr

TypeScript ist eine JavaScript-Weiterentwicklung, die Typsicherheit bietet. TypeScript wird in JavaScript übersetzt.

TypeScript und Node.js

Allgemein

Siehe

Bauen eines npm-Moduls mit TypeScript

Siehe

TypeScript und Jest

Siehe

TypeScript und einzelne Anwendungsfelder

TypeScript und Node.js

Das Aufsetzen eines Nodejs-Projekts mit TypeScript wird bei Khalil Stemmer geschildert.

Wie man eine Library mit TypeScript baut wird von Mean geschildert.

Ein Kommandozeilen-Script in TypeScript auf Basis von Node.js zeigt

TypeScript literals ohne einen bestimmten String

Siehe

typensicherer Event-Handling

Siehe

TypeScript und PostgreSQL

TypeScript kann jedes JavaScript/Node.js-Framework für den Zugriff auf PostgreSQL nutzen. Darüber hinaus gibt es weitere Bibliotheken:

TypeScript - Laufzeit-Typ-Überprüfung

Type Script kann zur Kompilierzeit Typensicherheit sicherstellen. Verschiedene Tools können auf Basis von TypeScript-Typen Prüfmethoden erstellen, um zur Laufzeit z.B. ein in JSON eingelesenen Typ auf Übereinstimmung mit dem TypeScript-Typ abzugleichen:

Eine Möglichkeit ist typescript-json-validator:

 npm install --save-dev typescript-json-validator


In src/types/types.ts werden die zu validierenden Typen exportiert.

In der package.json wird unter "scripts" folgender Eintrag hinzugefügt:

     "build:validators": "typescript-json-validator --defaultProps=false --useNamedExport --collection src/types/types.ts && sed -i  -e \"s/export {/export type {/\" -e s/\\\"format\\\":\\\"fast\\\",// -e s/\\\"nullable\\\":true,// -e s/\\\"uniqueItems\\\":true,// -e s/\\\"unicode\\\":true,// src/types/types.validator.ts",

Der sed-Befehl sollte folgende Fehler vermeiden:

  • "Das Argument vom Typ \"{ allErrors: true; coerceTypes: false; format: string; nullable: boolean; unicode: true; uniqueItems: boolean; useDefaults: false; }\" kann dem Parameter vom Typ \"Options\" nicht zugewiesen werden.\n Das Objektliteral kann nur bekannte Eigenschaften angeben, und \"\"format\"\" ist im Typ \"Options\" nicht vorhanden.",
  • Das erneute Exportieren eines Typs erfordert bei Festlegung des Flags \"--isolatedModules\" die Verwendung von \"export type\".",


Siehe auch

Siehe auch

TypeScript REST-API mit Authentifizierung

Siehe

Weiterführendes

Siehe auch