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
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.