Deze module voor algemeen gebruik bevat veel handige hulpprogramma's die u de moeite kunnen besparen om extra code te schrijven.

De util-module biedt een set hulpprogramma's die u kunt gebruiken voor het debuggen, inspecteren en formatteren van gegevens in Node.js-toepassingen.

Duik in de verschillende functies van de util-module en bekijk enkele voorbeelden om u te helpen deze tools te gebruiken.

Loggen met meer gemak

Logging verwijst naar het vastleggen van belangrijke informatie of gebeurtenissen, zoals variabele waarden, foutmeldingen en uitvoeringsstroom, die plaatsvinden binnen een softwaretoepassing. Logboekregistratie heeft meerdere doelen, waaronder foutopsporing, monitoring en auditing.

De Node.js util-module biedt een handig logboekmechanisme met behulp van de util.debuglog methode. Hiermee kunt u logfuncties voor foutopsporing maken met een naamruimte, en u kunt ze in- of uitschakelen door de NODE_DEBUG omgevingsvariabele. Hier is een voorbeeld:

// index.js
const gebruik = vereisen("gebruiken");

const debug = util.debuglog("mijnapp"); // initialiseer debug-logger

debuggen ("Dit is een foutopsporingsbericht"); // MYAPP 39668: Dit is een foutopsporingsbericht

Dit voorbeeld laat zien hoe u een eenvoudige debug-logger in een "myapp"-naamruimte kunt instellen en een bericht en zijn proces-ID naar de console kunt loggen.

Om de foutopsporingslogboeken in te schakelen, stelt u de NODE_DEBUG omgevingsvariabele toe aan de naamruimte wanneer u het script uitvoert:

NODE_DEBUG=mijnapp-knooppunt index.js

Als u meerdere naamruimten voor foutopsporing wilt inschakelen, voegt u een komma toe om de naamruimten van elkaar te scheiden:

NODE_DEBUG=mijnapp, mijnapp2,mijnapp3 knooppunt index.js

Als u geen naamruimte opneemt in het NODE_DEBUG omgevingsvariabele, zullen oproepen naar debuglog die naamruimte negeren.

De util.debuglog methode biedt nuttige functionaliteit, maar als uw app complexere logboekregistratie vereist, kunt u een van de andere robuuste gebruiken logging-pakketten in het Node.js-ecosysteem.

Veelbelovende functies voor flexibiliteit

Beloften in JavaScript bieden een manier om asynchrone code op een meer gestructureerde en beheersbare manier te verwerken manier door u in staat te stellen bewerkingen aan elkaar te koppelen, fouten en succesgebeurtenissen afzonderlijk af te handelen en terugbellen te voorkomen hel.

Hoewel niet alle ingebouwde functies beloften ondersteunen. U kunt echter functies "beloven" die traditionele callbacks gebruiken om hen in staat te stellen beloften te ondersteunen met de util-module's util.promisify methode.

Deze methode neemt een functie die het traditionele callback-systeem gebruikt en retourneert een functie die beloften gebruikt.

Bijvoorbeeld:

const gebruik = vereisen("gebruiken");

// Callback-versie
functieterugbelfunctie(arg1, arg2, terugbellen) {
// Asynchrone werking
// Roep callback aan met fout (indien aanwezig) en resultaat
}

// Beloof callbackFunction
const callbackFunctionPromise = util.promisify (callbackFunction);

// Beloofde versie
callbackFunctionPromise (arg1, arg2)
.Dan((resultaat) => {
// Procesresultaat
})
.vangst((fout) => {
// Behandel fout
});

In het bovenstaande voorbeeld is de util.promisify methode heeft de callback-versie van de functie geconverteerd naar een versie die beloften gebruikt.

Met deze conversie kunt u chain gebruiken Dan En vangst blokken, gebruiken proberen te vangen, en uw asynchrone code beter beheren.

Tekenreeksen opmaken met een bekende methode

De Node.js gebruiken module biedt een opmaakfunctie genaamd util.format waarmee u opgemaakte tekenreeksen kunt maken. Deze methode werkt op dezelfde manier als de printf functie in bash en andere programmeertalen zoals C en C++.

De util.format() methode neemt een opmaaktekenreeks die nul of meer opmaakspecificaties kan bevatten, zoals %S (snaren), %D (cijfers), als een argument. Er is ook een willekeurig aantal waarden voor nodig die hun overeenkomstige specificaties zullen vervangen.

Bijvoorbeeld:

const gebruik = vereisen("gebruiken");

const naam = "Bonnie";
const leeftijd = 30;

const formattedString = util.format(
"Mijn naam is %s en ik ben %d jaar oud.",
naam,
leeftijd
);

troosten.log (geformatteerdeString); // Mijn naam is Bonnie en ik ben 30 jaar oud.

In dit voorbeeld wordt een opmaaktekenreeks met twee tijdelijke aanduidingen gebruikt: %S En %D. De %S tijdelijke aanduiding is voor tekenreeksvervanging, terwijl %D is voor numerieke vervanging. De aanroep van util.format geeft overeenkomstige waarden door—naam En leeftijd- voor elke tijdelijke aanduiding.

Als een specificatie geen corresponderend argument heeft, wordt de util.format methode zal deze niet vervangen en zal de string retourneren zonder deze te wijzigen:

const gebruik = vereisen("gebruiken");

const formattedString = util.format("Mijn naam is s");
troosten.log (geformatteerdeString); // Mijn naam is s

Dit voorbeeld roept format aan met slechts één argument, dus de methode retourneert de originele string.

Er zijn nog veel meer toepassingen van de Util-module

Afgezien van deze toepassingen biedt de Node.js util-module andere hulpprogramma-functies. Voorbeelden hiervan zijn het inspecteren van objecten en waarden en het afschaffen van verouderde tools.

Door gebruik te maken van de functionaliteit van de util-module kunt u de leesbaarheid en onderhoudbaarheid van uw code en uw algehele workflow verbeteren.