Nowy tryb oglądania Node.js 19 i inne funkcje, o których powinieneś wiedzieć
W październiku 2022 r. Node.js wydał swoją 19. wersję. Nastąpiło to sześć miesięcy po wydaniu Node.js v.18, który zawierał znaczące ulepszenia, takie jak natywny moduł test runner.
Godną uwagi funkcją Node.js 19 jest nowy i eksperymentalny tryb oglądania. Pozwala to na wprowadzanie zmian na serwerze bez konieczności jego ponownego uruchamiania.
Przed Node.js 19 tryb oglądania był możliwy tylko przy użyciu bibliotek innych firm. Dowiedz się, jak korzystać z trybu zegarka i zapoznaj się z innymi aktualizacjami Node.js w wersji 19.
Nowy tryb oglądania Node
Node.js 19 wprowadza eksperymentalną flagę –watch , która restartuje serwer Node.js po wykryciu zmian w określonym pliku. Wcześniej można było to zrobić za pomocą biblioteki innej firmy o nazwie nodemon , ale aktualizacja eliminuje potrzebę zależności, dodając jej funkcjonalność do Node.js.
Aby zrestartować serwer Node.js przy użyciu flagi –watch , uruchom komendę node z flagą –watch , po której następuje nazwa pliku, który chcesz zrestartować, gdy Node wykryje zmiany.
Rozważmy na przykład ten blok kodu jako plik server.js :
// server.js
const express = require("express");
const app = express();
const PORT = 6060;
app.listen(PORT, () => console.log(`App listening on port: ${PORT}`));
Aby obejrzeć ten plik pod kątem zmian i ponownie uruchomić serwer, gdy wystąpią, uruchom to polecenie na swoim terminalu:
node --watch server
Polecenie obejrzy plik server.js i zrestartuje serwer Node.js, gdy wykryje zmiany wprowadzone w pliku.
Warto zauważyć, że ta funkcja jest nadal eksperymentalna, co oznacza, że możesz napotkać problemy podczas używania flagi –watch do ponownego uruchomienia serwera.
Inne aktualizacje i poprawki
Inne ulepszenia i poprawki dostarczone z Node.js 19 obejmują następujące.
HTTP Keep-Alive domyślnie
Opcja keepAlive modułu http/https kontroluje, czy powinien utrzymywać połączenie z serwerem po wykonaniu żądania. Pierwotnie musiałbyś ręcznie ustawić opcję keepAlive na true . Ta opcja instruuje serwer, aby utrzymywał otwarte połączenie i używał go ponownie do kolejnych żądań.
W Node.js 19 opcja keepAlive jest domyślnie ustawiona na true. Dodatek ten znacznie zmniejszy narzut związany z nawiązywaniem nowych połączeń.
Stabilizacja API WebCrypto
WebCrypto API to implementacja standardu Web Crypto API w Node.js. W Node.js 19 implementacja WebCrypto jest teraz stabilna, z wyjątkiem algorytmów Ed25519 , Ed448 , X25519 i X448 .
Dostęp do tego interfejsu API można uzyskać za pomocą modułu globalThis lub przedrostka node: wprowadzonego w Node.js 18 w celu odróżnienia podstawowych modułów Node.js od bibliotek innych firm.
Na przykład:
// node: prefix
const crypto = require("node:crypto");
// globalThis
const webcrypt = globalThis.crypto;
Niestandardowe korekty rozdzielczości ESM
Node.js 19 usuwa wcześniej eksperymentalną flagę –experimental-specifier-resolution . Zapewniło to eksperymentalne wsparcie dla lokalizowania plików przy użyciu specyfikatorów pakietów, podobnie jak ECMAScript importuje moduły.
Node.js usunął tę flagę, ponieważ możesz replikować ich funkcjonalność za pomocą niestandardowych programów ładujących. Możesz użyć niestandardowych modułów ładujących do obsługi większej liczby formatów modułów lub do dalszego przetwarzania modułów przed załadowaniem, ponieważ pozwalają one zapewnić unikalną logikę ładowania i przetwarzania modułów.
Usunięcie obsługi DTrace/SystemTap/ETW
DTrace, SystemTap i ETW (Event Tracing for Windows) to moduły oferujące dynamiczne śledzenie i analizę uruchomionych programów. Pierwotnie w Node.js można było ich używać do zbierania danych o aktywności aplikacji, w tym wskaźników wydajności, błędów i innych możliwych zdarzeń w czasie wykonywania.
W Node.js 19 Node.js usunął obsługę DTrace, SystemTap i ETW, ponieważ złożoność związana z utrzymaniem i aktualizowaniem tych modułów nie była jeszcze tego warta. Aby więc nadać priorytet swoim zasobom, zrezygnowali z ich wsparcia.
Aktualizacja do Node.js 19
Node.js 19 wprowadza różne funkcje i ulepszenia, które warto rozważyć w swojej aplikacji, w tym nowy tryb zegarka, między innymi omówiony powyżej. Aby dokonać aktualizacji do Node.js 19, przejdź do oficjalnej strony internetowej i pobierz aktualną wersję.
Dodaj komentarz