Acest modul de uz general conține multe funcții utilitare utile care vă pot economisi efortul de a scrie cod suplimentar.
Modulul util oferă un set de utilități pe care le puteți utiliza pentru a depana, inspecta și formata datele în aplicațiile Node.js.
Aprofundați în diferitele funcții ale modulului util și explorați câteva exemple pentru a vă ajuta să utilizați aceste instrumente.
Logare cu mai multă comoditate
Înregistrarea se referă la înregistrarea de informații sau evenimente importante, cum ar fi valorile variabilelor, mesajele de eroare și fluxul de execuție, care apar în cadrul unei aplicații software. Înregistrarea servește mai multor scopuri, inclusiv depanare, monitorizare și auditare.
Modulul util Node.js oferă un mecanism convenabil de înregistrare folosind util.debuglog metodă. Vă permite să creați funcții de logare de depanare cu un spațiu de nume și le puteți activa sau dezactiva setând NODE_DEBUG variabilă de mediu. Iată un exemplu:
// index.js
const util = cere("util");const depanare = util.debuglog(„aplicația mea”); // inițializați loggerul de depanare
depana(„Acesta este un mesaj de depanare”); // MYAPP 39668: Acesta este un mesaj de depanare
Acest exemplu arată cum puteți seta un simplu logger de depanare, într-un spațiu de nume „myapp” și puteți înregistra un mesaj și ID-ul de proces pe consolă.
Pentru a activa jurnalele de depanare, setați NODE_DEBUG variabila de mediu la spațiul de nume atunci când rulați scriptul:
NODE_DEBUG=myapp node index.js
Dacă doriți să activați mai multe spații de nume de depanare, adăugați o virgulă pentru a separa spațiile de nume:
NODE_DEBUG=myapp, myapp2,myapp3 nodul index.js
Dacă nu includeți un spațiu de nume în fișierul NODE_DEBUG variabilă de mediu, apelurile la depanare vor ignora acel spațiu de nume.
The util.debuglog Metoda oferă funcționalități utile, dar dacă aplicația dvs. necesită o înregistrare mai complexă, puteți utiliza una dintre celelalte robuste pachete de logare în ecosistemul Node.js.
Funcții promițătoare pentru flexibilitate
Promisiunile din JavaScript oferă o modalitate de a gestiona codul asincron într-un mod mai structurat și mai ușor de gestionat permițându-vă să înlănțuiți operațiunile, să gestionați separat erorile și evenimentele de succes și să evitați apelul înapoi iad.
Deși, nu toate funcțiile încorporate acceptă promisiunile. Cu toate acestea, puteți „promite” funcții care folosesc apeluri tradiționale pentru a le permite să accepte promisiunile cu modulul util. util.promisify metodă.
Această metodă ia o funcție care utilizează sistemul tradițional de apel invers și returnează o funcție care folosește promisiuni.
De exemplu:
const util = cere("util");
// Versiunea de apel invers
funcţiefuncția callback(arg1, arg2, apel invers) {
// Operație asincronă
// Invocă apel invers cu eroare (dacă există) și rezultat
}// Promite funcția callback
const callbackFunctionPromise = util.promisify (callbackFunction);
// Versiune promisă
callbackFunctionPromise (arg1, arg2)
.apoi((rezultat) => {
// Rezultatul procesului
})
.captură((eroare) => {
// Gestionează eroarea
});
În exemplul de mai sus, util.promisify metoda a convertit versiunea de apel invers a funcției într-o versiune care utilizează promisiuni.
Această conversie vă permite să utilizați lanțul apoi și captură blocuri, folosire încearcă să prinziși gestionați mai bine codul asincron.
Formatarea șirurilor cu o metodă familiară
Node.js util modulul oferă o funcție de formatare numită util.format care vă permite să creați șiruri formatate. Această metodă funcționează similar cu cel printf funcția în bash și alte limbaje de programare precum C și C++.
The util.format() metoda ia un șir de format care poate conține zero sau mai mulți specificatori de format, cum ar fi %s (siruri de caractere), %d (numerele), ca argument. De asemenea, este nevoie de un număr arbitrar de valori care vor înlocui specificatorii corespunzători.
De exemplu:
const util = cere("util");
const nume = "Bonnie";
const varsta = 30;const formattedString = util.format(
„Numele meu este %s și am %d ani.”,
Nume,
vârstă
);
consolă.log (formattedString); // Numele meu este Bonnie și am 30 de ani.
Acest exemplu folosește un șir de format cu doi substituenți: %s și %d. The %s substituentul este pentru înlocuirea șirurilor, în timp ce %d este pentru substituție numerică. Apelul la util.format transmite valorile corespunzătoare—Nume și vârstă-pentru fiecare substituent.
Dacă un specificator nu are un argument corespunzător, util.format metoda nu o va înlocui și va returna șirul fără a-l modifica:
const util = cere("util");
const formattedString = util.format(„Numele meu este %s”);
consolă.log (formattedString); // Numele meu este %s
Acest exemplu apelează formatul cu un singur argument, astfel încât metoda returnează șirul original.
Există multe mai multe utilizări ale modulului Util
Pe lângă aceste utilizări, modulul util Node.js oferă și alte funcții utilitare. Exemplele includ inspectarea obiectelor și a valorilor și deprecierea instrumentelor învechite.
Prin valorificarea funcționalității oferite de modulul util, puteți îmbunătăți lizibilitatea și mentenabilitatea codului și fluxul de lucru general.