Nouveau mode de surveillance de Node.js 19 et autres fonctionnalités à connaître

Nouveau mode de surveillance de Node.js 19 et autres fonctionnalités à connaître

En octobre 2022, Node.js a publié sa 19e version. Il est intervenu six mois après la sortie de Node.js v.18, qui comportait des mises à niveau importantes telles que le module de testeur natif.

Une caractéristique notable de Node.js 19 est le nouveau mode de surveillance expérimental. Cela vous permet d’apporter des modifications à votre serveur sans avoir à le redémarrer.

Avant Node.js 19, le mode montre n’était possible qu’en utilisant des bibliothèques tierces. Apprenez à utiliser le mode montre et explorez d’autres mises à jour de Node.js dans la version 19.

Nouveau mode de montre de Node

Node.js 19 introduit l’indicateur expérimental –watch , qui redémarre un serveur Node.js lorsqu’il détecte des modifications dans le fichier spécifié. Vous pouviez le faire auparavant en utilisant une bibliothèque tierce appelée nodemon , mais la mise à jour supprime le besoin d’une dépendance en ajoutant sa fonctionnalité à Node.js.

Pour redémarrer votre serveur Node.js à l’aide de l’ indicateur –watch , exécutez la commande node avec l’ indicateur –watch suivi du nom du fichier que vous souhaitez redémarrer lorsque Node détecte des modifications.

Par exemple, considérez ce bloc de code comme un fichier server.js :

// server.js
const express = require("express");
const app = express();
const PORT = 6060;

app.listen(PORT, () => console.log(`App listening on port: ${PORT}`));

Pour surveiller les modifications apportées à ce fichier et redémarrer le serveur lorsqu’elles se produisent, exécutez cette commande sur votre terminal :

node --watch server

La commande surveillera votre fichier server.js et redémarrera le serveur Node.js lorsqu’il détectera des modifications apportées au fichier.

Il convient de noter que cette fonctionnalité est encore expérimentale, ce qui signifie que vous pouvez rencontrer des problèmes lors de l’utilisation de l’ indicateur -watch pour redémarrer votre serveur.

Autres mises à niveau et correctifs

Les autres améliorations et correctifs fournis avec Node.js 19 incluent les éléments suivants.

HTTP Keep-Alive par défaut

L’ option keepAlive du module http/https contrôle s’il doit conserver une connexion à un serveur après avoir terminé une requête. À l’origine, vous deviez définir manuellement l’ option keepAlive sur true . Cette option demande au serveur de garder la connexion ouverte et de la réutiliser pour les requêtes ultérieures.

Dans Node.js 19, l’ option keepAlive est définie sur true par défaut. Cet ajout réduira considérablement les frais généraux liés à l’établissement de nouvelles connexions.

Stabilisation de l’API WebCrypto

L’API WebCrypto est l’implémentation par Node.js de la norme API Web Crypto . Avec Node.js 19, l’implémentation de WebCrypto est désormais stable, à l’exception des algorithmes Ed25519 , Ed448 , X25519 et X448 .

Vous pouvez accéder à cette API en utilisant le module globalThis ou le nœud: préfixe que Node.js 18 a introduit pour différencier les modules Node.js principaux des bibliothèques tierces.

Par exemple:

// node: prefix
const crypto = require("node:crypto");

// globalThis
const webcrypt = globalThis.crypto;

Ajustements de résolution ESM personnalisés

Node.js 19 supprime l’indicateur précédemment expérimental – experimental-specifier-resolution . Cela a fourni un support expérimental pour la localisation des fichiers à l’aide de spécificateurs de package, similaire à la façon dont ECMAScript importe les modules.

Node.js a supprimé cet indicateur car vous pouvez répliquer leurs fonctionnalités à l’aide de chargeurs personnalisés. Vous pouvez utiliser des chargeurs personnalisés pour prendre en charge davantage de formats de module ou pour traiter davantage les modules avant le chargement, car ils vous permettent de fournir votre logique unique pour le chargement et le traitement des modules.

Suppression de la prise en charge de DTrace/SystemTap/ETW

DTrace, SystemTap et ETW (Event Tracing for Windows) sont des modules qui offrent un traçage et une analyse dynamiques des programmes en cours d’exécution. À l’origine dans Node.js, vous pouviez les utiliser pour collecter des données sur l’activité d’une application, y compris des indicateurs de performances, des erreurs et d’autres occurrences d’exécution possibles.

Dans Node.js 19, Node.js a supprimé la prise en charge de DTrace, SystemTap et ETW, car la complexité liée à la maintenance et à la mise à jour de ces modules n’en vaut pas encore la peine. Donc, pour prioriser leurs ressources, ils ont abandonné leur soutien.

Mise à niveau vers Node.js 19

Node.js 19 introduit diverses fonctionnalités et améliorations à prendre en compte pour votre application, y compris le nouveau mode montre, entre autres discutés ci-dessus. Pour passer à Node.js 19, rendez-vous sur le site officiel et téléchargez la version actuelle.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *