Comment utiliser les modules ES natifs dans Node.js
À partir de la version 8.5.0, Node.js prend en charge les modules ES natifs, qui peuvent être activés via les options de ligne de commande. Les nouvelles fonctionnalités sont en grande partie dues à Bradley Farias. Cet article vous présente principalement l'utilisation de la méthode d'analyse du module ES natif dans Node.js, ainsi que des liens vers du contenu. Examinons-le ensemble. Les amis qui en ont besoin pourront s'y référer. .
1. Démonstration
La structure du répertoire de code de cet exemple est la suivante :
esm-demo/ lib.mjs main.mjs
lib.mjs :
export function add(x, y) { return x + y; }
main.mjs :
import {add} from './lib.mjs'; console.log('Result: '+add(2, 3));
Lancer la démo :
$ node --experimental-modules main.mjs Result: 5
2. Liste de contrôle : Choses à noter
Module ES :
·Vous ne pouvez pas importer de modules dynamiquement. Cependant, les travaux sur Dynamic import() sont en cours et un support devrait être bientôt disponible.
·Il n'y a pas de méta-variables telles que __dirname et __filename. Cependant, il existe une proposition pour une fonction similaire : "import.meta". Cela pourrait ressembler à ceci :
console.log(import.meta.url);
·Maintenant, tous les identifiants de module sont des URL (cette partie est nouvelle dans Node.js) :
· fichier - chemin relatif avec extension de fichier : ../util/tools.mjs
· Bibliothèque - pas de fichier extension et pas de chemin lodash
· Il reste à voir comment mieux rendre les bibliothèques npm également disponibles dans les navigateurs (sans utiliser de bundler) . Une possibilité consiste à introduire des données de configuration de style RequireJS qui mappent les chemins aux chemins réels. Actuellement, il est illégal d'utiliser des identifiants de module à chemin nu dans les navigateurs.
Interopérabilité avec les modules CJS
Vous pouvez importer des modules CJS, mais ils n'ont toujours que l'exportation par défaut, c'est-à-dire la valeur module.exports. La prise en charge des modules CJS par les exportations nommées est déjà en cours, mais cela peut prendre un certain temps. Si vous pouvez aider, vous pouvez le faire.
import fs1 from 'fs'; console.log(Object.keys(fs1).length); // 86 import * as fs2 from 'fs'; console.log(Object.keys(fs2)); // ['default']
· Vous ne pouvez pas utiliser require() dans les modules ES. Les principales raisons sont :
· La résolution de chemin fonctionne légèrement différemment : ESM ne prend pas en charge NODE_PATH et require.extensions. De plus, le fait que son identifiant soit toujours une URL entraîne quelques légères différences.
· Les modules ES sont toujours chargés de manière asynchrone, ce qui garantit une compatibilité maximale avec le Web. Ce style de chargement ne peut pas être mélangé avec le chargement synchrone des modules CJS via require().
· La désactivation du chargement synchrone des modules préserverait également un chemin de secours pour les importations en attente de niveau supérieur des modules ES (une fonctionnalité actuellement à l'étude).
3. Modules ES sur les versions antérieures de Node.js
Si vous souhaitez l'utiliser sur les versions de Node.js antérieures à la 8.5.0 Modules ES, voir @std/esm de John-David Dalton.
Astuce : Si vous n'activez aucune fonctionnalité supplémentaire déverrouillable, vous resterez 100 % compatible avec les modules ES natifs dans Node.js.
FAQ
Quand puis-je utiliser les modules ES sans options de ligne de commande ?
Le plan actuel est de rendre les modules ES disponibles par défaut dans Node.js 10 LTS.
Lectures complémentaires
Pour plus d'informations sur les modules Node.js et ES dans le navigateur :
· "Rendre les modules ES transpilés plus conformes aux spécifications" [en utilisant les modules ES de manière native plutôt que de les transpiler via Babel]
· "Spécificateurs de modules : quoi de neuf avec les modules ES ?" [Pourquoi .mjs ? Comment les spécificateurs de module sont-ils résolus ? Etc.]
· « Modules » [chapitre approfondi sur les modules ES dans « Explorer ES6 »]
Prochaine proposition ECMAScript :
· Blog : « Proposition ES : import() – importation dynamique de modules ES »
· Proposition : « import.meta »
Recommandations associées :
Exemples ES5 détaillant les multiples méthodes d'héritage de javascript
Explication détaillée de la portée au niveau du bloc ES6
Partage d'exemples de chaîne de modèle ES6
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds
![Le module d'extension WLAN s'est arrêté [correctif]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
S'il y a un problème avec le module d'extension WLAN sur votre ordinateur Windows, cela peut entraîner une déconnexion d'Internet. Cette situation est souvent frustrante, mais heureusement, cet article propose quelques suggestions simples qui peuvent vous aider à résoudre ce problème et à rétablir le bon fonctionnement de votre connexion sans fil. Réparer le module d'extensibilité WLAN s'est arrêté Si le module d'extensibilité WLAN a cessé de fonctionner sur votre ordinateur Windows, suivez ces suggestions pour le réparer : Exécutez l'utilitaire de résolution des problèmes réseau et Internet pour désactiver et réactiver les connexions réseau sans fil Redémarrez le service de configuration automatique WLAN Modifier les options d'alimentation Modifier Paramètres d'alimentation avancés Réinstaller le pilote de la carte réseau Exécuter certaines commandes réseau Examinons-le maintenant en détail

Cet article détaille les méthodes permettant de résoudre l'événement ID10000, qui indique que le module d'extension LAN sans fil ne peut pas démarrer. Cette erreur peut apparaître dans le journal des événements du PC Windows 11/10. Le module d'extensibilité WLAN est un composant de Windows qui permet aux fournisseurs de matériel indépendants (IHV) et aux fournisseurs de logiciels indépendants (ISV) de fournir aux utilisateurs des fonctionnalités de réseau sans fil personnalisées. Il étend les fonctionnalités des composants réseau Windows natifs en ajoutant la fonctionnalité par défaut de Windows. Le module d'extensibilité WLAN est démarré dans le cadre de l'initialisation lorsque le système d'exploitation charge les composants réseau. Si le module d'extension LAN sans fil rencontre un problème et ne peut pas démarrer, vous pouvez voir un message d'erreur dans le journal de l'Observateur d'événements.

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

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

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

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

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous
