Maison  >  Article  >  interface Web  >  Quelle est la différence entre les versions de nœud 14 et 10

Quelle est la différence entre les versions de nœud 14 et 10

WBOY
WBOYoriginal
2022-07-06 16:37:582650parcourir

La différence entre les versions 14 et 10 des nœuds : 1. La version 10 cesse d'utiliser le moteur V8 dans Chromium et utilise la version 6.6 du V8, tandis que le V8 utilisé dans la version 14 a été mis à niveau vers la version 8.1. La version 14 peut utiliser directement ; "Modules ES" Et il n'alarmera pas, mais il ne peut pas être utilisé dans la version 10.

Quelle est la différence entre les versions de nœud 14 et 10

L'environnement d'exploitation de cet article : système Windows 10, version nodejs 10&&node 14, ordinateur Dell G3.

Quelle est la différence entre les versions 14 et 10 des nœuds

Node 10

  • vm : ajout du support de l'importation dynamique. Prise en charge de l'importation dynamique.

Cependant, le module ES est encore expérimental, et l'import/export ne peut pas être utilisé directement dans le code À moins que l'indicateur expérimental ne soit activé, si vous souhaitez l'utiliser, vous devez toujours voir comment écrire l'importation ES6. dans NodeJS.

  • Mise à jour de nghttp2 vers 1.34.0. Cela ajoute la prise en charge du protocole de connexion étendu RFC 8441 pour permettre l'utilisation de WebSockets sur HTTP/2. Mise à jour de nghttp2 vers 1.34.0. Cela ajoute la prise en charge du protocole de connexion étendu RFC 8441 pour permettre l'utilisation de WebSockets sur HTTP/2.

Node 8 introduit un module expérimental HTTP/2, cette fois c'est une bonne mise à niveau vers Node. HTTP/2 améliore le protocole HTTP standard, avec des fonctionnalités avancées telles que le multiplexage, la connexion unique, le push du serveur, la compression d'en-tête, etc. Cette fois, il corrige également certains problèmes de sécurité et ajoute la prise en charge de websocket.

  • Ajout de codes d'erreur. Les messages d'erreur dans Node sont désormais standardisés.

  • La n-api n'est plus expérimentale [cd7d7b15c1]. N-API n'est plus une fonctionnalité expérimentale

La documentation de Node décrit N-API comme une API permettant de créer des plugins natifs. Il est indépendant du runtime JavaScript sous-jacent (ex V8) et maintenu dans le cadre de Node.js lui-même. Cette API sera une interface binaire d'application (ABI) stable dans les versions de Node.js. Il est conçu pour protéger les modules complémentaires des modifications apportées au moteur JavaScript sous-jacent et permettre aux modules compilés pour une version de s'exécuter sur les versions ultérieures de Node.js sans recompilation.

  • patch V8 vers 6.6.346.24. Node cesse d'utiliser le moteur V8 dans Chromium et utilise la version 6.6 du v8,

  • traçage de diagnostic amélioré. Node 10 ajoute des événements de suivi pour offrir aux développeurs plus de visibilité sur leurs applications Node.js. Lors du démarrage de l'application de nœud, ajoutez le paramètre --trace-event-categories pour l'ouvrir. Vous pouvez en savoir plus dans la documentation

  • mettre à jour npm vers 6.14.3. Mise à jour pour NPM 6, cette version de npm ajoute toutes les différentes améliorations, notamment les performances, la sécurité et la stabilité

  • mettez à niveau les sources openssl vers la version 1.1.1e. Node est livré avec un support cryptographique moderne pour le très attendu chiffre ChaCha20 et le validateur Poly1305

  • fs : supprimez l'avertissement expérimental pour fs.promises. fs peut utiliser les promesses directement, et il n'est pas nécessaire d'utiliser la fonction util.promisify() pour la conversion comme dans Node 8.

const fs = require('fs');
const fsPromises = fs.promises;
// 同步读取
console.log(fs.readFileSync('temp.txt', 'utf8'));
// promise 读取,感觉更麻烦了。
async function doRead() {
  let filehandle = null;
  try {
    filehandle = await fsPromises.open('temp.txt', 'r+');
    let read = await filehandle.readFile();
    console.log(read);
  } finally {
    if (filehandle) {
      // 如果文件已打开,则关闭文件。
      await filehandle.close();
    }
  }
}
doRead().catch(console.error);

Node 14

Modules ECMAScript - Suppression des avertissements expérimentaux

Dans Node.js 13, nous avons supprimé la nécessité d'inclure l'indicateur --experimental-modules, mais lors de l'exécution de modules EcmaScript dans Node.js, cela entraînerait toujours un avertissement ExperimentalWarning : Le chargeur de module ESM est expérimental.

À partir du nœud 13, vous pouvez utiliser les modules ES directement mais une alarme apparaîtra. Après le nœud 14, vous pourrez l'utiliser sans vous alarmer.

  • V8 mis à niveau vers 8.1

  • ArrayBuffer utilise la nouvelle API V8 ArrayBuffer

  • sources openssl mises à jour vers 1.1.1

  • option Console groupIndentation. La console peut être configurée pour être plus longue que deux espaces.

Apprentissage recommandé : "Tutoriel vidéo Nodejs"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn