CHF48.90
Download steht sofort bereit
Bühne frei für Node.js! Dieses Buch ist Ihr umfassender Begleiter für die Arbeit mit der am weitesten verbreiteten und von zahlreichen großen Unternehmen eingesetzten serverseitigen JavaScript-Plattform. An leicht verständlichen Beispielen lernen Sie alle Aspekte von Node.js kennen - von den Grundlagen bis zum Profi-Wissen! Hier finden Sie zahlreiche Tipps und Lösungen zu alltäglichen Problemen in der Webentwicklung. Für die vierte Auflage wurde das Buch umfassend aktualisiert und erweitert.
Aus dem Inhalt:
Deno kennen lernen
Autorentext
Sebastian Springer ist JavaScript-Engineer bei MaibornWolff. Als Dozent lehrt er JavaScript an der Technischen Hochschule Rosenheim. Er publiziert regelmäßig in Fachzeitschriften, schreibt Fachbücher zu Node.js und ist ein gefragter Speaker auf allen wichtigen JavaScript- und Webentwickler-Konferenzen.
Inhalt
Materialien zum Buch ... 23
Geleitwort ... 25
Vorwort ... 27
Grundlagen ... 31
1.1 ... Die Geschichte von Node.js ... 33
1.2 ... Die Organisation von Node.js ... 38
1.3 ... Versionierung von Node.js ... 39
1.4 ... Vorteile von Node.js ... 41
1.5 ... Einsatzgebiete von Node.js ... 42
1.6 ... Das Herzstück -- die V8-Engine ... 43
1.7 ... Bibliotheken um die Engine ... 50
1.8 ... Zusammenfassung ... 57
Installation ... 59
2.1 ... Installation von Paketen ... 60
2.2 ... Kompilieren und installieren ... 74
2.3 ... Node Version Manager ... 76
2.4 ... Node und Docker ... 77
2.5 ... Zusammenfassung ... 78
Ein erstes Beispiel ... 79
3.1 ... Der interaktive Modus ... 79
3.2 ... Die erste Applikation ... 86
3.3 ... Debuggen von Node.js-Applikationen ... 96
3.4 ... Entwicklungswerkzeug »nodemon« ... 107
3.5 ... Zusammenfassung ... 108
Node.js-Module ... 109
4.1 ... Modularer Aufbau ... 109
4.2 ... Kernmodule ... 112
4.3 ... JavaScript-Modulsysteme ... 132
4.4 ... Eigene Module erzeugen und verwenden ... 135
4.5 ... Zusammenfassung ... 148
HTTP ... 149
5.1 ... Der Webserver ... 149
5.2 ... Node.js als HTTP-Client ... 178
5.3 ... Sichere Kommunikation mit HTTPS ... 182
5.4 ... HTTP/2 ... 184
5.5 ... Zusammenfassung ... 189
Express ... 191
6.1 ... Aufbau ... 191
6.2 ... Installation ... 192
6.3 ... Grundlagen ... 194
6.4 ... Setup ... 196
6.5 ... Movie-Datenbank ... 199
6.6 ... Middleware ... 209
6.7 ... Erweitertes Routing -- Löschen von Datensätzen ... 214
6.8 ... Anlegen und Bearbeiten von Datensätzen -- Body-Parser ... 217
6.9 ... Express 5 ... 224
6.10 ... HTTPS und HTTP/2 ... 225
6.11 ... Zusammenfassung ... 228
Template-Engines ... 229
7.1 ... Eine eigene Template-Engine ... 230
7.2 ... Template-Engines in der Praxis -- Pug ... 232
7.3 ... Handlebars ... 247
7.4 ... Zusammenfassung und Ausblick ... 257
Anbindung von Datenbanken ... 259
8.1 ... Node.js und relationale Datenbanken ... 260
8.2 ... Node.js und nicht relationale Datenbanken ... 280
8.3 ... Zusammenfassung ... 293
Authentifizierung und Sessionhandling ... 295
9.1 ... Passport ... 295
9.2 ... Setup und Konfiguration ... 296
9.3 ... Anmeldung an der Applikation ... 300
9.4 ... Zugriff auf Ressourcen ... 308
9.5 ... Zusammenfassung ... 317
REST-Server ... 319
10.1 ... REST -- eine kurze Einführung und wie es in Webapplikationen verwendet wird ... 319
10.2 ... Zugriff auf die Applikation ... 320
10.3 ... Anpassungen an der Applikationsstruktur ... 322
10.4 ... Lesende Anfragen ... 323
10.5 ... Schreibende Anfragen ... 334
10.6 ... Authentifizierung mit JSON Web Tokens ... 342
10.7 ... OpenAPI-Spezifikation -- Dokumentation mit Swagger ... 351
10.8 ... Validierung ... 355
10.9 ... Zusammenfassung ... 362
GraphQL ... 363
11.1 ... GraphQL-Bibliotheken ... 364
11.2 ... Integration in Express ... 365
11.3 ... Daten über die Schnittstelle auslesen ... 369
11.4 ... Schreibende Zugriffe auf die GraphQL-Schnittstelle ... 374
11.5 ... Authentifizierung für die GraphQL-Schnittstelle ... 380
11.6 ... Zusammenfassung ... 382
Echtzeit-Webapplikationen ... 383
12.1 ... Die Beispielapplikation ... 384
12.2 ... Setup ... 385
12.3 ... Websockets ... 391
12.4 ... Socket.IO ... 404
12.5 ... Zusammenfassung ... 410
Typsichere Applikationen in Node.js ... 411
13.1 ... Typsysteme für Node.js ... 412
13.2 ... Werkzeuge und Konfiguration ... 419
13.3 ... Grundlagen ... 425
13.4 ... Klassen ... 430
13.5 ... Interfaces ... 433
13.6 ... Type Aliases in TypeScript ... 435
13.7 ... Generics ... 436
13.8 ... TypeScript im Einsatz in einer Node.js-Applikation ... 438
13.9 ... Zusammenfassung ... 440
Webapplikationen mit Nest ... 441
14.1 ... Installation und erste Schritte mit Nest ... 442
14.2 ... Die Nest CLI ... 444
14.3 ... Struktur der Applikation ... 448
14.4 ... Module -- logische Einheiten im Quellcode ... 450
14.5 ... Controller -- die Endpunkte einer Applikation ... 453
14.6 ... Providers -- die Businesslogik der Applikation ... 458
14.7 ... Zugriff auf Datenbanken ... 462
14.8 ... Dokumentation der Endpunkte mit OpenAPI ... 470
14.9 ... Authentifizierung ... 473
14.10 ... Ausblick: Testen in Nest ... 480
14.11 ... Zusammenfassung ... 483
Node auf der Kommandozeile ... 485
15.1 ... Grundlagen ... 485
15.2 ... Der Aufbau einer Kommandozeilenapplikation ... 488
15.3 ... Zugriff auf Ein- und Ausgabe ... 493
15.4 ... Werkzeuge ... 503
15.5 ... Signale ... 510
15.6 ... Exit Codes ... 513
15.7 ... Zusammenfassung ... 514
Asynchrone Programmierung ... 515
16.1 ... Grundlagen asynchroner Programmierung ... 515
16.2 ... Externe Kommandos asynchron ausführen ... 521
16.3 ... Node.js-Kindprozesse erzeugen mit »fork« ... 527
16.4 ... Das »cluster«-Modul ... 532
16.5 ... Worker-Threads ... 541
16.6 ... Promises in Node.js ... 544
16.7 ... Async Functions ... 552
16.8 ... Zusammenfassung ... 555
RxJS ... 557
17.1 ... Grundlagen ... 558
17.2 ... Operatoren ... 564
17.3 ... Subjects ... 581
17.4 ... Scheduler ... 582
17.5 ... Zusammenfassung ... 583
Streams ... 585
18.1 ... Einleitung ... 585
18.2 ... Readable Streams ... 589
18.3 ... Writable Streams ... 601
18.4 ... Duplex-Streams ... 609
18.5 ... Transform-Streams ... 611
18.6 ... Gulp ... 613
18.7 ... Zusammenfassung ... 615
Arbeiten mit Dateien ... 617
19.1 ... Synchrone und asynchrone Funktionen ... 617
19.2 ... Existenz von Dateien ... 619
19.3 ... Dateien lesen ... 620
19.4 ... Fehlerbehandlung ... 626
19.5 ... In Dateien schreiben ... 627
19.6 ... Verzeichnisoperationen ... 631
19.7 ... Weiterführende Operationen ... 634
19.8 ... Zusammenfassung ... 640
Socket-Server ... 641
20.1 ... Unix-Sockets ... 642
20.2 ... Windows Pipes ... 649
20.3 ... TCP-Sockets ... 650
20.4 ... UDP-Sockets ... 657
20.5 ... Zusammenfassung ... 662
Package Manager ... 663
21.1 ... Die häufigsten Operationen ... 664
…