Dieses Allzweckmodul enthält viele nützliche Hilfsfunktionen, die Ihnen den Aufwand für das Schreiben von zusätzlichem Code ersparen können.
Das util-Modul stellt eine Reihe von Dienstprogrammen bereit, die Sie zum Debuggen, Überprüfen und Formatieren von Daten in Node.js-Anwendungen verwenden können.
Tauchen Sie ein in die verschiedenen Funktionen des util-Moduls und sehen Sie sich einige Beispiele an, die Ihnen bei der Nutzung dieser Tools helfen.
Protokollieren mit mehr Komfort
Unter Protokollierung versteht man die Aufzeichnung wichtiger Informationen oder Ereignisse, wie z. B. Variablenwerte, Fehlermeldungen und Ausführungsabläufe, die innerhalb einer Softwareanwendung auftreten. Die Protokollierung dient mehreren Zwecken, einschließlich Debugging, Überwachung und Prüfung.
Das Node.js-Util-Modul bietet einen praktischen Protokollierungsmechanismus mithilfe von util.debuglog Methode. Sie können damit Debug-Protokollierungsfunktionen mit einem Namespace erstellen und diese durch Festlegen des aktivieren oder deaktivieren NODE_DEBUG Umgebungsvariable. Hier ist ein Beispiel:
// index.js
const util = erfordern(„util“);const debug = util.debuglog("meine App"); // Debug-Logger initialisieren
debuggen(„Dies ist eine Debug-Meldung“); // MYAPP 39668: Dies ist eine Debug-Nachricht
Dieses Beispiel zeigt, wie Sie einen einfachen Debug-Logger in einem „myapp“-Namespace einrichten und eine Nachricht und ihre Prozess-ID in der Konsole protokollieren können.
Um die Debug-Protokolle zu aktivieren, legen Sie fest NODE_DEBUG Fügen Sie dem Namespace eine Umgebungsvariable hinzu, wenn Sie das Skript ausführen:
NODE_DEBUG=mein App-Knoten index.js
Wenn Sie mehrere Debugging-Namespaces aktivieren möchten, fügen Sie ein Komma hinzu, um die Namespaces zu trennen:
NODE_DEBUG=myapp, myapp2, myapp3 node index.js
Wenn Sie keinen Namespace in die einfügen NODE_DEBUG Wenn Sie eine Umgebungsvariable verwenden, ignorieren Aufrufe von debuglog diesen Namespace.
Der util.debuglog Die Methode bietet nützliche Funktionen. Wenn Ihre App jedoch eine komplexere Protokollierung erfordert, können Sie eine der anderen robusten Methoden verwenden Protokollierungspakete im Node.js-Ökosystem.
Vielversprechende Funktionen für Flexibilität
Versprechen in JavaScript bieten eine Möglichkeit, asynchronen Code strukturierter und verwaltbarer zu handhaben Dadurch können Sie Vorgänge verketten, Fehler und Erfolgsereignisse getrennt behandeln und Rückrufe vermeiden Hölle.
Allerdings unterstützen nicht alle integrierten Funktionen Versprechen. Sie können jedoch Funktionen „versprechen“, die herkömmliche Rückrufe verwenden, damit sie Versprechen mit den Util-Modulen unterstützen können util.promisify Methode.
Diese Methode verwendet eine Funktion, die das herkömmliche Rückrufsystem verwendet, und gibt eine Funktion zurück, die Versprechen verwendet.
Zum Beispiel:
const util = erfordern(„util“);
// Callback-Version
FunktionRückruffunktion(arg1, arg2, Rückruf) {
// Asynchroner Betrieb
// Rückruf mit Fehler (falls vorhanden) und Ergebnis aufrufen
}// CallbackFunction versprechen
const callbackFunctionPromise = util.promisify (callbackFunction);
// Versprochene Version
callbackFunctionPromise (arg1, arg2)
.Dann((Ergebnis) => {
// Ergebnis verarbeiten
})
.fangen((Fehler) => {
// Fehler behandeln
});
Im obigen Beispiel ist die util.promisify Die Methode hat die Callback-Version der Funktion in eine Version konvertiert, die Versprechen verwendet.
Diese Konvertierung ermöglicht Ihnen die Verwendung von Chain Dann Und fangen Blöcke, verwenden versuchen-fangenund verwalten Sie Ihren asynchronen Code besser.
Formatieren von Zeichenfolgen mit einer vertrauten Methode
Die Node.js util Das Modul stellt eine Formatierungsfunktion namens bereit util.format Damit können Sie formatierte Zeichenfolgen erstellen. Diese Methode funktioniert ähnlich wie Die printf Funktion in Bash und andere Programmiersprachen wie C und C++.
Der util.format() Die Methode benötigt eine Formatzeichenfolge, die null oder mehr Formatspezifizierer enthalten kann, z %S (Saiten), %D (Zahlen), als Argument. Außerdem wird eine beliebige Anzahl von Werten benötigt, die die entsprechenden Spezifizierer ersetzen.
Zum Beispiel:
const util = erfordern(„util“);
const Name = „Bonnie“;
const Alter = 30;const formattedString = util.format(
„Mein Name ist %s und ich bin %d Jahre alt.“,
Name,
Alter
);
Konsole.log (formattedString); // Mein Name ist Bonnie und ich bin 30 Jahre alt.
In diesem Beispiel wird eine Formatzeichenfolge mit zwei Platzhaltern verwendet: %S Und %D. Der %S Der Platzhalter dient zum Ersetzen von Zeichenfolgen %D dient der numerischen Substitution. Der Aufruf von util.format übergibt entsprechende Werte –Name Und Alter– für jeden Platzhalter.
Wenn ein Spezifizierer kein entsprechendes Argument hat, wird der util.format Die Methode ersetzt sie nicht und gibt die Zeichenfolge zurück, ohne sie zu ändern:
const util = erfordern(„util“);
const formattedString = util.format("Mein name ist S");
Konsole.log (formattedString); // Mein name ist S
In diesem Beispiel wird format mit nur einem einzigen Argument aufgerufen, sodass die Methode die ursprüngliche Zeichenfolge zurückgibt.
Es gibt viele weitere Einsatzmöglichkeiten des Util-Moduls
Abgesehen von diesen Verwendungsmöglichkeiten bietet das Node.js-Util-Modul weitere Hilfsfunktionen. Beispiele hierfür sind die Überprüfung von Objekten und Werten sowie die Abschaffung veralteter Tools.
Durch die Nutzung der vom util-Modul bereitgestellten Funktionalität können Sie die Lesbarkeit und Wartbarkeit Ihres Codes und Ihres gesamten Arbeitsablaufs verbessern.