Denne generelle modulen inneholder mange nyttige hjelpefunksjoner som kan spare deg for innsatsen med å skrive ekstra kode.

util-modulen gir et sett med verktøy som du kan bruke til å feilsøke, inspisere og formatere data i Node.js-applikasjoner.

Dykk inn i de forskjellige funksjonene til util-modulen og utforsk noen eksempler for å hjelpe deg å utnytte disse verktøyene.

Logging med mer bekvemmelighet

Logging refererer til å registrere viktig informasjon eller hendelser, for eksempel variable verdier, feilmeldinger og utførelsesflyt, som oppstår i en programvareapplikasjon. Logging tjener flere formål, inkludert feilsøking, overvåking og revisjon.

Node.js util-modulen gir en praktisk loggingsmekanisme ved å bruke util.debuglog metode. Den lar deg lage feilsøkingsloggingsfunksjoner med et navneområde, og du kan aktivere eller deaktivere dem ved å angi NODE_DEBUG miljøvariabel. Her er et eksempel:

// index.js
konst bruk = krever("utnytte");

konst debug = util.debuglog("minapp"); // initialiser feilsøkingslogger

feilsøke("Dette er en feilsøkingsmelding"); // MYAPP 39668: Dette er en feilsøkingsmelding

Dette eksemplet viser hvordan du kan sette en enkel feilsøkingslogger, i et "myapp"-navneområde, og logge en melding og dens prosess-ID til konsollen.

For å aktivere feilsøkingsloggene, sett inn NODE_DEBUG miljøvariabel til navneområdet når du kjører skriptet:

NODE_DEBUG=minapp node index.js

Hvis du vil aktivere flere feilsøkingsnavneområder, legger du til et komma for å skille navneområdene:

NODE_DEBUG=myapp, myapp2,myapp3 node index.js

Hvis du ikke inkluderer et navneområde i NODE_DEBUG miljøvariabel, vil kall til debuglog ignorere det navneområdet.

De util.debuglog metoden gir nyttig funksjonalitet, men hvis appen din krever mer kompleks logging, kan du bruke en av de andre robuste logge pakker i Node.js-økosystemet.

Lovende funksjoner for fleksibilitet

Løfter i JavaScript gir en måte å håndtere asynkron kode på en mer strukturert og håndterbar måte måte ved å la deg kjede operasjoner, håndtere feil og suksesshendelser separat, og unngå tilbakeringing helvete.

Selv om ikke alle innebygde funksjoner støtter løfter. Du kan imidlertid "love" funksjoner som bruker tradisjonelle tilbakeringinger for å gjøre dem i stand til å støtte løfter med util-modulens util.love metode.

Denne metoden tar en funksjon som bruker det tradisjonelle tilbakeringingssystemet og returnerer en funksjon som bruker løfter.

For eksempel:

konst bruk = krever("utnytte");

// Tilbakeringing versjon
funksjontilbakeringingsfunksjon(arg1, arg2, tilbakeringing) {
// Asynkron drift
// Påkall tilbakeringing med feil (hvis noen) og resultat
}

// Promisify callbackFunction
konst callbackFunctionPromise = util.promisify (callbackFunction);

// Lovet versjon
callbackFunctionPromise (arg1, arg2)
.deretter((resultat) => {
// Prosessresultat
})
.å fange((feil) => {
// Håndteringsfeil
});

I eksemplet ovenfor er util.love metoden konverterte tilbakeringsversjonen av funksjonen til en versjon som bruker løfter.

Denne konverteringen lar deg bruke kjede deretter og å fange blokker, bruk prøve-fange, og administrer den asynkrone koden din bedre.

Formatere strenger med en kjent metode

Node.js util modulen gir en formateringsfunksjon kalt util.format som lar deg lage formaterte strenger. Denne metoden fungerer på samme måte som de printf funksjon i bash og andre programmeringsspråk som C og C++.

De util.format() metoden tar en formatstreng som kan inneholde null eller flere formatspesifikasjoner, for eksempel %s (strenger), %d (tall), som argument. Det krever også et vilkårlig antall verdier som vil erstatte deres tilsvarende spesifikasjoner.

For eksempel:

konst bruk = krever("utnytte");

konst navn = "Bonnie";
konst alder = 30;

konst formattedString = util.format(
"Mitt navn er %s, og jeg er %d år gammel.",
Navn,
alder
);

konsoll.log (formatert streng); // Mitt navn er Bonnie, og jeg er 30 år gammel.

Dette eksemplet bruker en formatstreng med to plassholdere: %s og %d. De %s plassholder er for strengerstatning, mens %d er for numerisk erstatning. Anropet til util.format sender tilsvarende verdier—Navn og alder– for hver plassholder.

Hvis en spesifikasjoner ikke har et tilsvarende argument, vil den util.format metoden vil ikke erstatte den, og vil returnere strengen uten å endre den:

konst bruk = krever("utnytte");

konst formattedString = util.format("Mitt navn er %s");
konsoll.log (formatert streng); // Mitt navn er %s

Dette eksemplet kaller format med bare ett enkelt argument, så metoden returnerer den opprinnelige strengen.

Det er mange flere bruksområder for Util-modulen

Bortsett fra disse bruksområdene, tilbyr Node.js util-modulen andre hjelpefunksjoner. Eksempler inkluderer inspeksjon av objekter og verdier og avvikling av utdaterte verktøy.

Ved å utnytte funksjonaliteten som tilbys av util-modulen, kan du forbedre lesbarheten og vedlikeholdet av koden din og din generelle arbeidsflyt.