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 eksperymentalne --oglądać flaga, która uruchamia się ponownie serwer Node.js gdy wykryje zmiany w określonym pliku. Można to zrobić wcześniej, korzystając z biblioteki innej firmy o nazwie Nodemon, ale aktualizacja usuwa potrzebę zależności, dodając jej funkcjonalność do Node.js.
Aby ponownie uruchomić serwer Node.js przy użyciu --oglądać flaga, uruchom węzeł polecenie z --oglądać flag, po której następuje nazwa pliku, który chcesz zrestartować, gdy Node wykryje zmiany.
Rozważmy na przykład ten blok kodu jako a serwer.js plik:
// serwer.js
konst ekspres = wymagać("wyrazić");
konst aplikacja = ekspres();
konst PORT = 6060;
app.listen (PORT, () => konsola.dziennik(`Aplikacja nasłuchuje na porcie: ${PORT}`));
Aby obejrzeć ten plik pod kątem zmian i ponownie uruchomić serwer, gdy wystąpią, uruchom to polecenie na swoim terminalu:
węzeł --obserwować serwer
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 podczas korzystania z niej mogą wystąpić problemy --oglądać flagę, aby zrestartować serwer.
Inne aktualizacje i poprawki
Inne ulepszenia i poprawki dostarczone z Node.js 19 obejmują następujące.
HTTP Keep-Alive domyślnie
The http/https modułu utrzymać przy życiu opcja kontroluje, czy powinien utrzymywać połączenie z serwerem po wykonaniu żądania. Pierwotnie musiałbyś ustawić tzw utrzymać przy życiu opcja do PRAWDA ręcznie. Ta opcja instruuje serwer, aby utrzymywał otwarte połączenie i używał go ponownie do kolejnych żądań.
W Node.js 19 utrzymać przy życiu opcja 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 Node.js standard Web Crypto API. W Node.js 19 implementacja WebCrypto jest teraz stabilna, z wyjątkiem Ed25519, Ed448, X25519, I X448 algorytmy.
Możesz uzyskać dostęp do tego interfejsu API za pomocą globalTo moduł lub węzeł: przedstaw to Wprowadzono Node.js 18 aby odróżnić podstawowe moduły Node.js od bibliotek innych firm.
Na przykład:
// węzeł: przedrostek
konst krypto = wymagać(„węzeł: krypto”);
// globalTo
konst webcrypt = globalThis.crypto;
Niestandardowe korekty rozdzielczości ESM
Node.js 19 usuwa wcześniej eksperymentalne --experimental-specyfikator-rozdzielczość flaga. 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ę.