Améliorations des performances et nouvelles fonctionnalités pour Node.js : rivaliser avec Deno et Bun
De nombreuses personnes souhaitent discuter de la vitesse du nouveau runtime JavaScript, ce qui implique indirectement (et parfois directement) que Node.js est plus lent ou manque de certaines fonctionnalités intégrées. Le modèle de développement de Deno 2 et Bun suggère qu'ils sont destinés à être des boîtes à outils tout-en-un pour créer des applications JavaScript. Ils :
L'utilisation de Node.js nécessite l'utilisation d'outils tiers pour effectuer ces tâches, comme l'utilisation de dotenv pour charger des fichiers .env.
Cependant, Node.js a rattrapé son retard. Cet article mettra en avant trois des nombreuses fonctionnalités ajoutées depuis la version 20 ou 22. Commençons.
De nombreuses personnes comptent sur dotenv pour charger les fichiers d'environnement. Nous écririons require('dotenv').config()
ou import 'dotenv/config'
puis accéderions à la valeur de process.env
. À partir de la version 20.6.0, vous pouvez utiliser l'indicateur --env-file
pour spécifier le fichier à partir duquel Node.js doit charger les variables d'environnement.
Par exemple, la commande suivante chargera les variables d'environnement à partir d'un fichier .env :
<code class="language-bash">node --env-file=.env index.js</code>
Vous pouvez également charger plusieurs fichiers en passant deux fois le drapeau :
<code class="language-bash">node --env-file=.env --env-file=config.env index.js</code>
Certaines personnes ont signalé des améliorations des performances de leurs applications en supprimant le package dotenv et en utilisant directement Node.js. Voici ce que Wes Bos a tweeté à propos du temps de démarrage de son application passant de 1 300 ms à 1 ms :
Je pense que vous avez utilisé différents outils pour surveiller vos fichiers sources et redémarrer l'application lorsque vous modifiez le code. Nous l'avons fait de différentes manières, dont l'une en utilisant nodemon, un utilitaire qui surveille les modifications dans les fichiers source et redémarre automatiquement le serveur.
À partir des versions 18.11.0 et 16.19.0, la node
CLI obtient deux nouveaux indicateurs pour ce faire : --watch
et --watch-path
. L'exécution de node --watch index.js
démarrera l'application en mode montre et surveillera le point d'entrée et tous les modules requis ou importés. Vous devez utiliser l'indicateur --watch-path
pour spécifier les chemins à surveiller, plutôt que les fichiers d'entrée et leurs modules importés.
Il existe également un drapeau lié au mode montre : le drapeau --watch-preserve-output
. Vous pouvez utiliser cet indicateur si vous souhaitez empêcher que la sortie de la console ne soit effacée lorsque le processus est redémarré en mode surveillance.
<code class="language-bash">node --env-file=.env index.js</code>
Bien que Node.js ne dispose pas de gestionnaire de packages intégré, la plupart des installations sont généralement fournies avec npm. Vous avez utilisé npm run
ou des commandes similaires provenant de divers gestionnaires de packages pour exécuter des scripts définis dans package.json
. Ce n'est pas un problème, mais Bun et Deno se vantent du temps nécessaire pour que le script package.json
soit opérationnel, ce qui a peut-être amené l'équipe Node à reconsidérer cette option.
À partir de la version 22.0.0, Node.js peut désormais exécuter des scripts via le drapeau --run
, tel que node --run dev
. Cela ne se contente pas de remplacer npm run
sans apporter aucun avantage ni limitation. L'utilisation de node --run
s'est avérée plus rapide que la commande npm run
. Certaines fonctionnalités intentionnellement exclues des autres implémentations d'exécution incluent :
Vous pouvez en savoir plus sur ce drapeau dans la documentation.
Cet article explore les dernières améliorations apportées à Node.js qui le rapprochent des capacités d'intégration fournies par Deno 2 et Bun. Nous avons vérifié les fonctionnalités suivantes :
--env-file
pour charger les fichiers .env--watch
et --watch-path
introduits dans les versions 18.11.0 et 16.19.0--run
, disponible depuis la version 22.0.0, offre un moyen plus rapide d'exécuter des package.json
scriptsCes mises à jour aident Node.js à rattraper son retard par rapport aux autres environnements d'exécution en réduisant le besoin d'outils tiers et en améliorant les performances, la sécurité et la convivialité.
Article original publié par mes soins sur le blog Telerik
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!