Table des matières
AbortController
N-API 7
npm 7
les rejets non gérés sont lancés par défaut
QUIC
V8 8.6
Promise.any()——MDN
AggregateError——MDN
String.prototype.replaceAll()——MDN
安利升级
Maison interface Web js tutoriel La version officielle de Node.js 15 est publiée et remplacera Node.js 14 en tant que version stable actuelle.

La version officielle de Node.js 15 est publiée et remplacera Node.js 14 en tant que version stable actuelle.

Oct 22, 2020 pm 07:57 PM
javascript node.js 前端

La version officielle de Node.js 15 est publiée et remplacera Node.js 14 en tant que version stable actuelle.

Il y a deux jours, Node.js a officiellement publié la version officielle de Node.js 15. Node.js 15 remplacera Node.js 14 en tant que version stable actuelle, qui sera mis à niveau vers une version LTS (Long Term Support) plus tard ce mois-ci. Si vous souhaitez découvrir les dernières fonctionnalités de Node.js 15, vous pouvez le télécharger depuis le site officiel.

La version officielle de Node.js 15 est publiée et remplacera Node.js 14 en tant que version stable actuelle.

Recommandation de tutoriel vidéo : tutoriel nodejs

Alors, quelles nouvelles fonctions et fonctionnalités Node.js 15 apporte-t-il ? Principalement reflété dans les aspects suivants :

  • AbortController
  • N-API version 7
  • npm 7
  • rejets non gérés émis par défaut
  • QUIC
  • V8 8.6

AbortController

L'interface AbortController représente un objet contrôleur, permettant aux développeurs d'abandonner une ou plusieurs requêtes Web selon les besoins, Node. js 15 ajoute une implémentation expérimentale d'AbortController. AbortController est une classe d'utilitaire globale qui annule les signaux de requête sortants dans certaines API basées sur Promise conformément à l'API Web AbortController, comme indiqué ci-dessous.

const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted);    //Prints True
Copier après la connexion

Dans l'exemple ci-dessus, l'événement d'abandon sera émis lorsque la méthode abortController.abort() est appelée, et AbortController ne déclenchera l'événement d'abandon qu'une seule fois. De plus, les écouteurs d'événements attachés à AbortSignal doivent utiliser l'option de paramètre { once: true} (ou de manière équivalente once() de EventEmitterAPI) pour garantir qu'une fois l'événement d'abandon géré, l'écouteur d'événements est ensuite supprimé.

Pour la documentation de l'API Node.js d'AbortController, veuillez vous référer à : AbortController.

N-API 7

N-API est une API permettant de créer des plugins natifs qui est indépendante de l'environnement d'exécution JavaScript sous-jacent (tel que V8) et fonctionne dans le cadre de Node.js lui-même. . Cette API servira de version stable de l'interface binaire d'application (ABI) compilée dans les versions de Node.js. Il est conçu pour isoler les plugins Addons des modifications apportées au moteur JavaScript sous-jacent et permet aux modules compilés dans une version de s'exécuter sur une version ultérieure de Node.js sans avoir besoin d'être recompilés.

N-API est une API en langage C qui assure la stabilité de l'interface de programmation d'application (ABI) entre les versions de Node.js et les différents niveaux du compilateur. L'API C++ peut être plus facile à utiliser. Pour prendre en charge l'utilisation du C++, Node.js utilise un module wrapper C++ appelé node-addon-api, qui fournit une API C++ inlineable. Les binaires construits à l'aide de node-addon-api s'appuieront sur l'interface N-API basée sur les symboles de fonction C exportés par Node.js. node-addon-api est un moyen plus efficace d'écrire du code pour écrire des appels à N-API.

Pour plus d'informations sur la N-API de Node.js, veuillez vous référer à : Addons C/C++ avec N-API

Ce qui suit est un exemple d'utilisation de node-addon-api.

Object obj = Object::New(env);
obj["foo"] = String::New(env, "bar");
Copier après la connexion
napi_status status;
napi_value object, string;
status = napi_create_object(env, &object);
if (status != napi_ok) {
  napi_throw_error(env, ...);
  return;
}

status = napi_create_string_utf8(env, "bar", NAPI_AUTO_LENGTH, &string);
if (status != napi_ok) {
  napi_throw_error(env, ...);
  return;
}

status = napi_set_named_property(env, object, "foo", string);
if (status != napi_ok) {
  napi_throw_error(env, ...);
  return;
}
Copier après la connexion

Cette N-API 7 mise à jour est la première nouvelle version depuis la version majeure précédente, apportant du contenu connexe sur ArrayBuffers.

npm 7

Node.js 15 est livré avec une nouvelle version majeure de npm, npm 7. npm 7 propose de nombreuses nouvelles fonctionnalités, notamment des espaces de travail npm et un nouveau format package-lock.json. npm 7 inclut également la prise en charge du fichier Yarn.lock. L'un des grands changements de npm 7 est l'installation par défaut des dépendances homologues.

les rejets non gérés sont lancés par défaut

À partir de Node.js 15, le mode par défaut pour unhandledRejection a été modifié en throw (anciennement warn). En mode throw, si le hook unhandledRejection n’est pas défini, unhandledRejection sera élevé à une exception non interceptée. Les utilisateurs avec un hook unhandledRejection ne devraient voir aucun changement de comportement et peuvent toujours utiliser l'indicateur de processus --unhandled-rejections=mode pour changer de mode.

Les versions précédentes de Node.js émettaient UnhandledPromiseRejectionWarning par défaut, et selon les résultats de l'enquête « Node.js User Insights : Unhandled Promise Rejections », le TSC de Node.js a accepté de changer de mode pour lancer .

QUIC

QUIC est un protocole de couche de transport Internet à faible latence basé sur UDP développé par Google. Il s'agit du protocole de transport de base de HTTP/3. De plus, en novembre 2016, l'IETF (International Internet Engineering Task Force) a organisé la première réunion du groupe de travail QUIC, qui a attiré l'attention de l'industrie, ce qui signifie que QUIC a commencé à franchir une étape clé pour devenir un protocole de couche de transport de nouvelle génération. QUIC, quant à lui, intègre la sécurité TLS 1.3, le contrôle de flux, la correction d'erreurs, la migration de connexion et le multiplexage.

Node.js 15 est livré avec un support expérimental pour QUIC, qui peut être activé en compilant Node.js avec l'option de configuration --experimental-quic. Par exemple, le module core net expose une implémentation Node.js QUIC avec le code suivant.

const { createQuicSocket } = require('net');
Copier après la connexion
rrree

Pour plus d'informations sur QUIC, vous pouvez vous référer au document suivant : QUIC.

V8 8.6

Le moteur JavaScript V8 a été mis à jour vers la V8 8.6 (la V8 8.4 est la dernière version de Node.js 14). En plus des ajustements et améliorations des performances, la mise à jour V8 apporte les fonctionnalités linguistiques suivantes :

Promise.any()——MDN

Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise 和AggregateError类型的实例,它是 Error 的一个子类,用于把单一的错误集合在一起。

Promise.any()的参考文档如下所示:Promise.any()

AggregateError——MDN

AggregateError主要用于操作报告多个错误被抛出的场景,语法格式如下:

new AggregateError(errors[, message])
Copier après la connexion

捕获一个AggregateError的示例代码如下:

Promise.any([
  Promise.reject(new Error("some error")),
]).catch(e => {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "All Promises rejected"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
});
Copier après la connexion

创建一个AggregateError的示例代码如下:

try {
  throw new AggregateError([
    new Error("some error"),
  ], 'Hello');
} catch (e) {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "Hello"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
}
Copier après la connexion

详细参考文档:AggregateError

String.prototype.replaceAll()——MDN

replaceAll() 方法是返回一个新字符串,新字符串所有满足 pattern 的部分都已被replacement 替换。pattern可以是一个字符串或一个 RegExp, replacement可以是一个字符串或一个在每次匹配被调用的函数。

const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';

const regex = /dog/gi;

console.log(p.replaceAll(regex, 'ferret'));
// expected output: "The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?"

console.log(p.replaceAll('dog', 'monkey'));
// expected output: "The quick brown fox jumps over the lazy monkey. If the monkey reacted, was it really lazy?"
Copier après la connexion

详细内容参考:String.prototype.replaceAll()

安利升级

另外,随着 Node.js 15 新版本的发布!官方希望开发者尽快的进行升级,并将遇到的问题反馈就给官方,。当然,开发者还可以使用 Node.js 15 测试你的应用程序和模块,以确保你的项目与最新的 Node.js 特性和更改兼容。

并且,Node.js官方也开始计划升级到 Node.js 14 ,它将在下周升级到 LTS,支持会持续到直到 2023 年 4 月。还要注意的是,Node.js 10 将于 2021 年 4 月结束生命周期。因此,如果你仍在使用 Node.js 10,我们建议你开始计划升级。

原文链接:https://medium.com/@nodejs/node-js-v15-0-0-is-here-deb00750f278

更多编程相关知识,请访问:编程入门!!

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Django est-il front-end ou back-end ? Vérifiez-le! Django est-il front-end ou back-end ? Vérifiez-le! Jan 19, 2024 am 08:37 AM

Django est un framework d'application Web écrit en Python qui met l'accent sur un développement rapide et des méthodes propres. Bien que Django soit un framework Web, pour répondre à la question de savoir si Django est un front-end ou un back-end, vous devez avoir une compréhension approfondie des concepts de front-end et de back-end. Le front-end fait référence à l'interface avec laquelle les utilisateurs interagissent directement, et le back-end fait référence aux programmes côté serveur. Ils interagissent avec les données via le protocole HTTP. Lorsque le front-end et le back-end sont séparés, les programmes front-end et back-end peuvent être développés indépendamment pour mettre en œuvre respectivement la logique métier et les effets interactifs, ainsi que l'échange de données.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Mar 28, 2024 pm 01:06 PM

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

Combinaison de Golang et de technologie front-end : découvrez comment Golang joue un rôle dans le domaine front-end Combinaison de Golang et de technologie front-end : découvrez comment Golang joue un rôle dans le domaine front-end Mar 19, 2024 pm 06:15 PM

Combinaison de Golang et de la technologie front-end : pour explorer le rôle de Golang dans le domaine front-end, des exemples de code spécifiques sont nécessaires. Avec le développement rapide d'Internet et des applications mobiles, la technologie front-end est devenue de plus en plus importante. Dans ce domaine, Golang, en tant que puissant langage de programmation back-end, peut également jouer un rôle important. Cet article explorera comment Golang est combiné avec la technologie front-end et démontrera son potentiel dans le domaine front-end à travers des exemples de code spécifiques. Le rôle de Golang dans le domaine front-end est celui d'un outil efficace, concis et facile à apprendre.

See all articles