Dette generelle modul indeholder mange nyttige hjælpefunktioner, der kan spare dig for besværet med at skrive ekstra kode.

util-modulet indeholder et sæt hjælpeprogrammer, som du kan bruge til at fejlsøge, inspicere og formatere data i Node.js-applikationer.

Dyk ned i de forskellige funktioner i util-modulet og udforsk nogle eksempler for at hjælpe dig med at udnytte disse værktøjer.

Logning med mere bekvemmelighed

Logning refererer til registrering af vigtige oplysninger eller hændelser, såsom variable værdier, fejlmeddelelser og udførelsesflow, der forekommer i en softwareapplikation. Logning tjener flere formål, herunder fejlfinding, overvågning og revision.

Node.js util-modulet giver en praktisk logningsmekanisme ved hjælp af util.debuglog metode. Det giver dig mulighed for at oprette debug-logningsfunktioner med et navneområde, og du kan aktivere eller deaktivere dem ved at indstille NODE_DEBUG miljøvariabel. Her er et eksempel:

// index.js
konst brug = kræve("udnytte");

konst debug = util.debuglog("min app"); // initialiser debug logger

instagram viewer

fejlfinde("Dette er en fejlretningsmeddelelse"); // MYAPP 39668: Dette er en fejlretningsmeddelelse

Dette eksempel viser, hvordan du kan indstille en simpel debug-logger i et "myapp"-navneområde og logge en besked og dens proces-id til konsollen.

For at aktivere fejlretningsloggene skal du indstille NODE_DEBUG miljøvariabel til navnerummet, når du kører scriptet:

NODE_DEBUG=minapp node index.js

Hvis du vil aktivere flere debugging-navneområder, skal du tilføje et komma for at adskille navneområderne:

NODE_DEBUG=myapp, myapp2,myapp3 node index.js

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

Det util.debuglog metode giver nyttig funktionalitet, men hvis din app kræver mere kompleks logning, kan du bruge en af ​​de andre robuste logningspakker i Node.js-økosystemet.

Lovende funktioner for fleksibilitet

Løfter i JavaScript giver en måde at håndtere asynkron kode på på en mere struktureret og overskuelig måde måde ved at give dig mulighed for at sammenkæde operationer, håndtere fejl og succesbegivenheder separat og undgå tilbagekald helvede.

Selvom ikke alle indbyggede funktioner understøtter løfter. Du kan dog "love" funktioner, der bruger traditionelle tilbagekald for at gøre dem i stand til at understøtte løfter med util-modulets bruge.lover metode.

Denne metode tager en funktion, der bruger det traditionelle tilbagekaldssystem, og returnerer en funktion, der bruger løfter.

For eksempel:

konst brug = kræve("udnytte");

// Tilbagekaldsversion
fungeretilbagekaldsfunktion(arg1, arg2, tilbagekald) {
// Asynkron drift
// Kald tilbagekald med fejl (hvis nogen) og resultat
}

// Lov tilbagekaldsfunktion
konst callbackFunctionPromise = util.promisify (callbackFunction);

// Lovet version
callbackFunctionPromise (arg1, arg2)
.derefter((resultat) => {
// Procesresultat
})
.fangst((fejl) => {
// Håndteringsfejl
});

I eksemplet ovenfor er bruge.lover metode konverterede callback-versionen af ​​funktionen til en version, der bruger løfter.

Denne konvertering giver dig mulighed for at bruge kæde derefter og fangst blokke, brug try-catch, og administrer din asynkrone kode bedre.

Formatering af strenge med en velkendt metode

Node.js util modul giver en formateringsfunktion kaldet util.format der giver dig mulighed for at oprette formaterede strenge. Denne metode fungerer på samme måde som det printf funktion i bash og andre programmeringssprog som C og C++.

Det util.format() metode tager en formatstreng, der kan indeholde nul eller flere formatspecifikationer, som f.eks %s (strenge), %d (tal), som et argument. Det kræver også et vilkårligt antal værdier, der erstatter deres tilsvarende specifikationer.

For eksempel:

konst brug = kræve("udnytte");

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

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

konsol.log (formateret streng); // Mit navn er Bonnie, og jeg er 30 år gammel.

Dette eksempel bruger en formatstreng med to pladsholdere: %s og %d. Det %s pladsholder er til strengsubstitution, mens %d er til numerisk substitution. Kaldet til util.format sender tilsvarende værdier—navn og alder- for hver pladsholder.

Hvis en specificator ikke har et tilsvarende argument, vil util.format metoden vil ikke erstatte den, og vil returnere strengen uden at ændre den:

konst brug = kræve("udnytte");

konst formattedString = util.format("Mit navn er %s");
konsol.log (formateret streng); // Mit navn er %s

Dette eksempel kalder format med kun et enkelt argument, så metoden returnerer den oprindelige streng.

Der er masser af flere anvendelser af Util-modulet

Ud over disse anvendelser tilbyder Node.js util-modulet andre hjælpefunktioner. Eksempler omfatter inspektion af objekter og værdier og udfasning af forældede værktøjer.

Ved at udnytte funktionaliteten fra util-modulet kan du forbedre læsbarheden og vedligeholdelsen af ​​din kode og din overordnede arbejdsgang.