Probleme mit der NodeJS-, Koa- und Typescript-Integration und dem automatischen Neustart

Probleme mit der NodeJS-, Koa- und Typescript-Integration und dem automatischen Neustart

Versionshinweise

Node.js: 16.13.1

Erstellen eines Projekts

Erstellen Sie die folgende Verzeichnisstruktur

Projekt
├── Quelle
│ └── server.ts
├── Paket.json
└── tsconfig.json

package.json kann mit yarn init -y generiert werden
tsconfig.json kann mit tsc --init generiert werden ( typescript Paket muss global oder im Projekt installiert sein, um den tsc -Befehl verwenden zu können)

Abhängigkeiten installieren

Beachten:

  • Das Paket @tsconfig/node16 muss entsprechend der Version von Node.js geändert werden. Die auf meinem Computer installierte Version ist 16.xx , daher verwende ich @tsconfig/node16 . Weitere Informationen finden Sie in den Anweisungen in tsconfig/bases. Natürlich müssen Sie dieses Paket überhaupt nicht installieren. Die Vorteile dieses Pakets sind die öffentliche Verfügbarkeit und die allgemein empfohlene Konfiguration.
  • Wenn typescript global installiert wurde, entfernen Sie es mit dem folgenden Befehl
  • concurrently ist ein Toolkit zur gleichzeitigen Ausführung mehrerer Befehle
  • nodemon ist ein Toolkit, das Dateiänderungen überwacht und Programme automatisch neu startet
Garn hinzufügen Koa
yarn add typescript @tsconfig/node16 @types/node @types/koa gleichzeitig nodemon -D

Füllinhalt

src/server.ts

Koa von „koa“ importieren;

const server: Koa = new Koa();
const port: nummer = 3000;

server.use((ctx: Koa.DefaultContext) => {
    ctx.body = "hallo koa";
});

server.listen(port, () => {
    console.log(`Node.js v${process.versions.node}`);
});

tsconfig.json

Hinweis: Der Wert des Felds extends wird entsprechend dem von Ihnen installierten Paketnamen @tsconfig/node** ersetzt.

{
  "erweitert": "@tsconfig/node16/tsconfig.json",
  "Compileroptionen": {
    "Basis-URL": ".",
    "rootDir": "Quelle",
    "outDir": "Distanz",
    "noImplicitAny": wahr,
  },
  "enthalten": [
    "Quelle/**/*"
  ]
}

Paket.json

"Skripte": {
  "build-ts": "tsc",
  "build": "Garn-Builds-ts",
  "debug": "Garnaufbau und Garnüberwachung - Debuggen",
  "serve-debug": "nodemon --inspect dist/server.js",
  "serve": "Knotenverteilung/server.js",
  "Start": "Garnaufschlag",
  "watch-debug": "gleichzeitig -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"gelb.fett,cyan.fett,grün.fett\" \"npm:watch-ts\" \"npm:serve-debug\"",
  "watch-node": "nodemon dist/server.js",
  "watch-ts": "tsc -w",
  "watch": "gleichzeitig -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"gelb.fett,cyan.fett,grün.fett\" \"npm:watch-ts\" \"npm:watch-node\""
}

laufen

Unser gesamter Quellcode befindet sich im Verzeichnis src , und js von tsc kompilierten js-Dateien befinden sich im Verzeichnis dist , also dem in der Datei tsconfig.json angegebenen Pfad.

Lokale Entwicklung: Wenn kein dist -Verzeichnis vorhanden ist, müssen Sie zum Kompilieren und Generieren yarn build ausführen und dann yarn watch ausführen.

Bereitstellungsproduktion: Führen Sie nacheinander yarn build , yarn serve oder yarn start aus (serve“ und „start“ sind derselbe Befehl).

Verweise

Microsoft/TypeScript-Node-Starter

Dies ist das Ende dieses Artikels über die Integration von nodejs + koa + typescript und den automatischen Neustart. Weitere verwandte Inhalte zu nodejs koa typescript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • nodejs+koa2 implementiert eine Nachahmung des SpringMVC-Frameworks
  • Beispielcode zum Hinzufügen, Löschen, Ändern und Überprüfen von JSON-Dateien basierend auf Koa (Node.js-Framework)
  • So verwenden Sie koa-log4 zum Verwalten von NodeJS-Protokollnotizen
  • Detaillierte Erläuterung des Implementierungscodes für die Abhängigkeitsinjektion von Typescript nodejs

<<:  Beispiel für die Implementierung eines hohlen Dreieckpfeils und eines X-Symbols mit anschließendem Pseudoelement

>>:  Vergleichstabelle chinesischer und englischer Schriftnamen (einschließlich Founder und Arphic)

Artikel empfehlen

SQL-Übung: Produktkategorie-Datenoperation in der Online-Shopping-Datenbank

Datenbank für Online-Einkaufszentren - Produktkat...

W3C Tutorial (6): W3C CSS Aktivitäten

Ein Stylesheet beschreibt, wie ein Dokument angez...

Der Prozess des Aufbaus einer Lampenarchitektur durch einen Docker-Container

Inhaltsverzeichnis 1. Ziehen Sie das Centos-Image...

So installieren Sie Nginx in CentOS7 und konfigurieren den automatischen Start

1. Laden Sie das Installationspaket von der offiz...

Implementierung der CentOS8.0-Netzwerkkonfiguration

1. Unterschiede in der Netzwerkkonfiguration zwis...

So richten Sie die passwortfreie SSH-Anmeldung beim Linux-Server ein

Bei jeder Anmeldung am Testserver ist grundsätzli...

Analyse von Mysql-Datenmigrationsmethoden und -Tools

In diesem Artikel wird hauptsächlich die Analyse ...

So führen Sie geplante PHP-Aufgaben in CentOS7 aus

Vorwort Dieser Artikel stellt hauptsächlich den r...