TypeScript: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) |
Codica (Diskussion | Beiträge) |
||
Zeile 109: | Zeile 109: | ||
Siehe | Siehe | ||
* https://auth0.com/blog/use-typescript-to-create-a-secure-api-with-nodejs-and-express-getting-started/ | * https://auth0.com/blog/use-typescript-to-create-a-secure-api-with-nodejs-and-express-getting-started/ | ||
+ | |||
+ | === TypeScript API erstellen === | ||
+ | |||
+ | Siehe | ||
+ | * https://trpc.io/ | ||
== Weiterführendes == | == Weiterführendes == |
Version vom 9. März 2023, 17:19 Uhr
TypeScript ist eine JavaScript-Weiterentwicklung, die Typsicherheit bietet. TypeScript wird in JavaScript übersetzt.
TypeScript und Node.js
Allgemein
Siehe
- https://basarat.gitbooks.io/typescript/docs/quick/nodejs.html
- Beispielprojekt mit TypeScript, Node.js und PostgresSQL mit pg-promise
- TypeScript Compiler Optionen
- Debugging TypeScript auf Node.js
Bauen eines npm-Moduls mit TypeScript
Siehe
- https://medium.com/cameron-nokes/the-30-second-guide-to-publishing-a-typescript-package-to-npm-89d93ff7bccd
- https://itnext.io/step-by-step-building-and-publishing-an-npm-typescript-package-44fe7164964c
TypeScript und Jest
npm install --save-dev jest ts-jest @types/jest npx ts-jest config:init
Siehe
- https://jestjs.io/docs/getting-started#using-typescript
- React zur Frontend-Entwicklung mit Jest
- Jest für TypeScript, basiert auf ts-jest
- Vorschlag für Projektstruktur mit Jest
- Einfaches Boilerplate für TypeScript-Backend mit Jest-Tests
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
- https://itnext.io/how-to-create-your-own-typescript-cli-with-node-js-1faf7095ef89
- https://dev.to/raphaelmansuy/boost-your-productivity-by-creating-your-own-cli-command-with-typescript-part-1-5g37
- https://medium.com/geekculture/building-a-node-js-cli-with-typescript-packaged-and-distributed-via-homebrew-15ba2fadcb81.
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:
- https://www.npmjs.com/package/ts-postgres
- Postgres-Typescript - ein Generator, der SQL-Code in TypeScript-Code transformiert.
- Schemats erlaubt typensicheren Zugriffe auf SQL-Datenbanken
- pg-query-parser ermöglicht das Parsen einer SQL-Anweisung und anschließendes Bearbeiten mittels TypeScript/JavaScript.
- Prisma, an ORM for TypeScript
- Slonik nutzt neuere Features von ES6 und kann daher auch gut mit TypeScript genutzt werden.
- Darauf aufbauend ermöglicht @slonik/typegen automatisch TypeScript-Interfaces zu erzeugen, mit deren Hilfe das Ergebnis von SELECT-Querys typsicher verwendet werden kann.
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
- ts-auto-guard
- typescript-json-validator
- benützt ajv und typescript-json-schema-generator
- Anleitung auf emasuriano.com
- Ajv prüft JSON gegen JSON Schema und JSON Type Definition. JSON Schema kann aus TypeScript-erstellt werden:
- https://github.com/woutervh-/typescript-is
- https://github.com/fabiandev/ts-runtime
- https://github.com/pelotom/runtypes
Siehe auch
- https://learning-notes.mistermicheels.com/javascript/typescript/runtime-type-checking/
- https://www.typescriptneedstypes.com/
- https://tsoa-community.github.io/docs/ Type safe rest APIs
TypeScript REST-API mit Authentifizierung
Siehe
TypeScript API erstellen
Siehe
Weiterführendes
Siehe auch
- React
- Jest
- Blogs
- fettblog.eu - Einsatz von literal types