NodeKit
NodeKit
NodeKit ist ein einfaches Toolkit für Ihre Node.js-Apps, Skripte und Bibliotheken. Es bietet Funktionalität für Logging, Telemetrie, Konfiguration und Fehlerbehandlung, sodass Sie eine vertraute Grundlage in Ihren verschiedenen Projekten haben.
Installation
npm install --save @gravity-ui/nodekit
Erste Schritte
Fügen Sie die Abhängigkeit zu Ihrem Projekt hinzu:
npm install --save @gravity-ui/nodekit
Und importieren und initialisieren Sie dann NodeKit in Ihrer Anwendung:
import {NodeKit} from '@gravity-ui/nodekit';
const nodeKit = new NodeKit();
nodekit.ctx.log('App ist bereit');
Dokumentation
Weitere Dokumentation finden Sie im Verzeichnis docs/:
docs/configuration.mdbeschreibt, wie Sie sowohl NodeKit selbst als auch Ihre NodeKit-basierten Anwendungen konfigurieren könnendocs/contexts.mdbeschreibt das Konzept von NodeKit-Kontexten, Logging und Tracingdocs/app-error.mdenthält eine Beschreibung der nützlichen benutzerdefinierten Fehlerklasse, die NodeKit für Ihre Anwendungen bereitstelltdocs/utils.mdlistet einige zusätzliche Hilfsfunktionen auf, die mit NodeKit gebündelt sind
Mitwirken
Erste Schritte
Holen Sie sich Kopien des NodeKit-Repositorys und der Beispielanwendungen:
git clone git@github.com:gravity-ui/nodekit
git clone git@github.com:gravity-ui/nodekit-examples
Verknüpfen Sie Ihr NodeKit mit npm und starten Sie den Compiler:
cd nodekit && npm link && npm run dev
Öffnen Sie dann in einem anderen Terminal die Beispiele, wählen Sie das aus, das Sie interessiert, verknüpfen Sie Ihr NodeKit dort und starten Sie die App:
cd nodekit-examples/basic-app && npm i && npm link @gravity-ui/nodekit
npm run dev
An diesem Punkt können Sie Änderungen sowohl an NodeKit als auch an der Demo-App vornehmen und die Ergebnisse in Echtzeit sehen.
Lizenz
Verteilt unter der MIT-Lizenz. Details finden Sie in LICENSE.
Für KI-Agenten
Ein grundlegendes Node.js-Toolkit (Logging, Telemetrie, typisierte Fehler, Konfiguration, Request-Kontexte), das über alle Gravity UI-Backends hinweg gemeinsam genutzt wird – greifen Sie darauf zurück, um eine konsistente App-Struktur zu erhalten, bevor Sie eine HTTP-Schicht hinzufügen, anstatt selbst Logging/Fehler/Konfigurations-Pipelines zusammenzustellen.
Wann verwenden
- Jeder Node.js-Dienst/jedes Skript, das gemeinsames Logging, Telemetrie (Tracing) und einen typisierten
AppErrorwünscht. - Bereitstellung von Request-bezogenem Kontext (Logs/Traces) über asynchrone Grenzen hinweg.
- Zentralisierung der Konfiguration, damit mehrere Dienste im selben Ökosystem konsistent funktionieren.
Wann nicht verwenden
- Um HTTP-Routen, Middleware oder einen Server bereitzustellen, verwenden Sie
@gravity-ui/expresskit– es baut auf NodeKit auf und fügt die Express/HTTP-Schicht hinzu. - Für ein eigenständiges Skript mit einer Datei und ohne Logging/Telemetrie-Anforderungen sind reine Node-APIs leichter als das vollständige NodeKit-Kontextsystem.
Häufige Fallstricke
- Halluzinieren von
import {Logger}/logger– Logging wird über den NodeKit-Kontext erreicht:new NodeKit()dannnodekit.ctx.log(...), nicht als eigenständiger Logger-Export. - Wiederholtes Instanziieren von NodeKit – Erstellen Sie eine
NodeKit-Instanz pro App und teilen Sie derenctx; das Erstellen vieler Instanzen fragmentiert die Logging/Telemetrie-Konfiguration. - Werfen von reinem
Error– Verwenden Sie den gebündeltenAppError(siehedocs/app-error.md), damit Fehlercodes und Telemetrie konsistent erfasst werden. - Überspringen der Konfigurationsinitialisierung – NodeKit liest die Konfiguration bei der Konstruktion; überprüfen Sie
docs/configuration.md, bevor Sie Standardwerte annehmen.
Dokumentation für KI-Agenten
Agentenlesbare Dokumentation für die installierte Version befindet sich in node_modules/@gravity-ui/nodekit/dist/docs/INDEX.md.