Ten moduł ogólnego przeznaczenia zawiera wiele przydatnych funkcji narzędziowych, które mogą zaoszczędzić Ci wysiłku związanego z pisaniem dodatkowego kodu.

Moduł util udostępnia zestaw narzędzi, których można używać do debugowania, sprawdzania i formatowania danych w aplikacjach Node.js.

Zapoznaj się z różnymi funkcjami modułu util i zapoznaj się z kilkoma przykładami, które pomogą Ci wykorzystać te narzędzia.

Logowanie z większą wygodą

Rejestrowanie odnosi się do rejestrowania ważnych informacji lub zdarzeń, takich jak wartości zmiennych, komunikaty o błędach i przebieg wykonywania, które występują w aplikacji. Rejestrowanie służy wielu celom, w tym debugowaniu, monitorowaniu i inspekcji.

Moduł util Node.js zapewnia wygodny mechanizm rejestrowania przy użyciu util.debuglog metoda. Pozwala tworzyć funkcje rejestrowania debugowania z przestrzenią nazw i można je włączać lub wyłączać, ustawiając NODE_DEBUG Zmienna środowiskowa. Oto przykład:

// index.js
konst utylizacja = wymagać(„użyteczny”);

konst debugowanie = util.debuglog(„moja aplikacja”); // inicjalizacja rejestratora debugowania

instagram viewer

odpluskwić(„To jest komunikat debugowania”); // MYAPP 39668: To jest komunikat debugowania

Ten przykład pokazuje, jak można ustawić prosty rejestrator debugowania w przestrzeni nazw „myapp” i zarejestrować komunikat oraz jego identyfikator procesu w konsoli.

Aby włączyć dzienniki debugowania, ustaw NODE_DEBUG zmienną środowiskową do przestrzeni nazw po uruchomieniu skryptu:

NODE_DEBUG=myapp node index.js

Jeśli chcesz włączyć wiele przestrzeni nazw debugowania, dodaj przecinek, aby oddzielić przestrzenie nazw:

NODE_DEBUG=mojaaplikacja, mojaaplikacja2,mojaaplikacja3 węzeł index.js

Jeśli nie uwzględnisz przestrzeni nazw w NODE_DEBUG zmienna środowiskowa, wywołania debuglog zignorują tę przestrzeń nazw.

The util.debuglog zapewnia przydatną funkcjonalność, ale jeśli Twoja aplikacja wymaga bardziej złożonego rejestrowania, możesz użyć jednego z innych niezawodnych logowanie pakietów w ekosystemie Node.js.

Obiecujące funkcje zapewniające elastyczność

Obietnice w JavaScript zapewniają sposób obsługi kodu asynchronicznego w sposób bardziej uporządkowany i łatwiejszy w zarządzaniu sposób, umożliwiając łączenie operacji w łańcuchy, osobną obsługę błędów i zdarzeń zakończonych sukcesem oraz unikanie wywołań zwrotnych piekło.

Chociaż nie wszystkie wbudowane funkcje obsługują obietnice. Można jednak „obiecywać” funkcje korzystające z tradycyjnych wywołań zwrotnych, aby umożliwić im obsługę obietnic za pomocą modułu util util.promisify metoda.

Ta metoda przyjmuje funkcję, która używa tradycyjnego systemu wywołań zwrotnych i zwraca funkcję, która używa obietnic.

Na przykład:

konst utylizacja = wymagać(„użyteczny”);

// Wersja wywołania zwrotnego
funkcjonowaćFunkcja wywołania zwrotnego(arg1, arg2, wywołanie zwrotne) {
// Operacja asynchroniczna
// Wywołaj wywołanie zwrotne z błędem (jeśli występuje) i wynikiem
}

// Obietnica funkcji wywołania zwrotnego
konst callbackFunctionPromise = util.promisify (callbackFunction);

// Wersja obiecana
callbackFunction Obietnica (arg1, arg2)
.Następnie((wynik) => {
// Wynik procesu
})
.złapać((błąd) => {
// Błąd obsługi
});

W powyższym przykładzie util.promisify Metoda przekonwertowała wersję wywołania zwrotnego funkcji na wersję korzystającą z obietnic.

Ta konwersja umożliwia użycie łańcucha Następnie I złapać bloki, użyj próbuj złapaći lepiej zarządzaj kodem asynchronicznym.

Formatowanie łańcuchów za pomocą znanej metody

Node.js utylizacja moduł udostępnia funkcję formatowania o nazwie util.format który umożliwia tworzenie sformatowanych ciągów znaków. Ta metoda działa podobnie do the drukujf funkcja w bashu oraz inne języki programowania, takie jak C i C++.

The util.format() Metoda przyjmuje ciąg formatu, który może zawierać zero lub więcej specyfikatorów formatu, takich jak %S (smyczki), %D (liczby) jako argument. Przyjmuje również dowolną liczbę wartości, które zastąpią odpowiadające im specyfikatory.

Na przykład:

konst utylizacja = wymagać(„użyteczny”);

konst imię = "Bonnie";
konst wiek = 30;

konst formattedString = util.format(
"Nazywam się %s i mam %d lat.",
nazwa,
wiek
);

konsola.log (sformatowany Ciąg); // Nazywam się Bonnie i mam 30 lat.

W tym przykładzie zastosowano ciąg formatu z dwoma symbolami zastępczymi: %S I %D. The %S symbol zastępczy służy do zastępowania ciągów znaków, podczas gdy %D służy do podstawienia liczbowego. Wywołanie util.format przekazuje odpowiednie wartości —nazwa I wiek— dla każdego symbolu zastępczego.

Jeśli specyfikator nie ma odpowiedniego argumentu, util.format metoda nie zastąpi go i zwróci ciąg znaków bez jego zmiany:

konst utylizacja = wymagać(„użyteczny”);

konst formattedString = util.format("Moje imię to s");
konsola.log (sformatowany Ciąg); // Moje imię to s

Ten przykład wywołuje format z tylko jednym argumentem, więc metoda zwraca oryginalny ciąg.

Istnieje wiele innych zastosowań modułu Util

Oprócz tych zastosowań moduł util Node.js oferuje inne funkcje użytkowe. Przykłady obejmują sprawdzanie obiektów i wartości oraz wycofywanie przestarzałych narzędzi.

Wykorzystując funkcjonalność zapewnianą przez moduł util, możesz poprawić czytelność i łatwość konserwacji kodu oraz ogólny przepływ pracy.