Maison interface Web js tutoriel Comment utiliser les modules ES natifs dans Node.js

Comment utiliser les modules ES natifs dans Node.js

Feb 08, 2018 am 11:18 AM
javascript 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
Copier après la connexion

lib.mjs :


export function add(x, y) {
 return x + y;
}
Copier après la connexion

main.mjs :


import {add} from './lib.mjs';
console.log('Result: '+add(2, 3));
Copier après la connexion

Lancer la démo :


$ node --experimental-modules main.mjs
Result: 5
Copier après la connexion

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);
Copier après la connexion

·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']
Copier après la connexion

· 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!

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 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)

Le module d'extension WLAN s'est arrêté [correctif] Le module d'extension WLAN s'est arrêté [correctif] Feb 19, 2024 pm 02:18 PM

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

Le module d'extensibilité WLAN ne peut pas démarrer Le module d'extensibilité WLAN ne peut pas démarrer Feb 19, 2024 pm 05:09 PM

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 mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

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 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

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

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.

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

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 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

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

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

See all articles