Maison  >  Article  >  interface Web  >  Comment Node.js prend-il en charge les modules ES6 ?

Comment Node.js prend-il en charge les modules ES6 ?

DDD
DDDoriginal
2024-11-09 16:37:02248parcourir

How Does Node.js Support ES6 Modules?

Node.js dévoile ses plans pour la prise en charge du module ES6 (ECMAScript 2015)

Commit initial et accès nocturne à la build

La branche principale Node.js offre désormais un support initial pour les modules ES6 sous le --indicateur de modules expérimentaux. Les builds nocturnes, accessibles via NVM, fournissent un premier aperçu de cette implémentation.

Extensions de fichiers et entrées de packages

Pour désigner les modules ES6, Node.js propose d'utiliser le . Extension de fichier MJS. De plus, package.json peut utiliser le champ "main" pour établir un point d'entrée pour les modules.

Type de package

Champ "package.type" dans package.json permet la spécification de module ou de commonjs. Cela détermine la façon dont les fichiers avec des extensions spécifiques (par exemple, .js) sont analysés.

Résolution dynamique et statique

Résolution dynamique, activée via --es-module-specifier -resolution=node, facilite les importations en utilisant des extensions de fichiers facultatives et l'indexation des fichiers dans des répertoires. Cependant, la résolution explicite reste la résolution par défaut pour éviter les vulnérabilités de sécurité potentielles.

Chargeur de module JSON expérimental

--experimental-json-loader permet les importations JSON en tirant parti d'un chargeur expérimental. qui interprète toutes les importations de 'thing.json' via ceci chargeur.

Chronologies historiques

  • Février 2017 : Node.js décide de .mjs comme extension de fichier pour les modules ES6.
  • Octobre 2016 : Node.js présente les obstacles techniques à la mise en œuvre du module lors d'une réunion TC-39.
  • Septembre 2017 : La prise en charge du module ES6 apparaît dans Node.js 8.5.0 derrière un indicateur .
  • Janvier 2019 : Node.js 11.6.0 qualifie toujours les modules ES6 d'expérimentaux.
  • Avril 2019 : Modifications majeures dans la détection et la résolution des modules introduites via un PR.

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