node.js 20: sécurité améliorée, test natif, et plus
publié le 18 avril 2023, Node.js version 20 offre des améliorations significatives concernant les préoccupations des développeurs précédemment abordées par des alternatives comme Deno et Bun. Cet article explore les principales améliorations des développeurs en utilisant ce runtime JavaScript largement adopté.
Fonctionnalités et améliorations clés:
Sécurité améliorée avec un nouveau modèle d'autorisation: node.js 20 introduit un modèle d'autorisation expérimental utilisant le - drapeau de la permission expérimentale
, offrant un contrôle granulaire sur l'accès du système de fichiers, les processus enfants et les threads de travailleur. Cela augmente considérablement la sécurité en limitant l'impact potentiel d'un script. Les développeurs peuvent utiliser l'objet process.permission
pour vérifier les autorisations dans leurs applications.
Runner de test natif stable: Plus de dépendance aux modules de test tiers! Node.js 20 stabilise le coureur de test natif, initialement expérimental dans la version 18. Les développeurs peuvent désormais créer des tests directement dans leurs projets, en letant node: test
et node: assert
, simplifiant le flux de travail de test.
Compilation expérimentale d'application exécutable (SEA): Cette fonction expérimentale permet de compiler les applications dans un seul exécutable, éliminant les problèmes de dépendance pendant le déploiement. Cependant, les limitations actuelles incluent le support uniquement pour les projets CommonJS plus anciens et la compilation spécifique au système d'exploitation.
moteur JavaScript V8 mis à jour: L'inclusion du dernier moteur JavaScript V8 apporte des améliorations de performances et de nouvelles fonctionnalités javascript, y compris string.prototype.iswellForged ()
, string.prototype.towellForged (&&&&&&], et une nouvelle expression régulière
, et une nouvelle expression régulière , et une nouvelle expression régulière
, et a et une nouvelle expression régulière
Autres mises à jour notables: Les améliorations étendent à l'URL, fetch native ()
, et EventTarget
API, ainsi que les améliorations du module ES et le support ARM64 officiel sur Windows.
node.js Cycle de version:
node.js suit un cycle de libération de six mois. Les versions uniformes (comme 20) sont des versions LTS (support à long terme), recevant des mises à jour pendant trois ans, tandis que les versions impaires sont plus expérimentales, avec un support se terminant généralement après un an. Alors que Node.js 20 est le dernier, l'équipe recommande de s'en tenir à la version 18 jusqu'à ce que tous les bogues initiaux soient résolus.
Breakdown détaillé des fonctionnalités:
modèle de permission: Le nouveau modèle aborde les risques de sécurité en défautant vers un accès restreint, sauf si explicitement accordé via des drapeaux de ligne de commande ( - allow-fs-read
, - allow-fs-write
, - allow-child-process
,,,,, - Autor-Worker
).
Runner de test natif: Cette fonction intégrée rationalise les tests, réduisant le besoin de bibliothèques externes et promouvant la cohérence entre les projets. Les tests peuvent être facilement identifiés par des conventions de nom de fichier (par exemple, test.js
, mytest.mjs
).
Compilation en mer: Bien que prometteurs, les limitations actuelles restreignent son adoption généralisée jusqu'à un développement ultérieur. Le processus consiste à créer un fichier de configuration et à manipuler l'exécutable Node.js lui-même.
V8 Mises à jour du moteur: Le moteur V8 mis à jour apporte des gains de performances et l'accès aux nouvelles fonctionnalités de la langue JavaScript.
devriez-vous passer à deno ou bun?
Deno et Bun offrent des alternatives convaincantes, en particulier pour les nouveaux projets. Leurs fonctionnalités intégrées et les flux de travail rationalisés peuvent améliorer considérablement la productivité des développeurs. Cependant, le vaste écosystème existant des applications et modules Node.js reste une forte incitation à rester avec Node.js pour de nombreux projets. L'évolution en cours des trois temps d'exécution profite finalement à toute la communauté JavaScript.
Questions fréquemment posées:
(section FAQs reflétant le contenu de l'article d'origine, mais reformulé pour la concision et la clarté)
Cette réponse mise à jour fournit un aperçu plus concis et amélioré des fonctionnalités clés de Node.js 20, répondant aux exigences de l'invite d'origine.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3