Le module
es peut être exécuté dans node ; node prend en charge le module es natif depuis la version 8.5.2. Cette fonction peut être activée via l'option de ligne de commande. Le module es, également connu sous le nom de module ECMAScript, est un code JavaScript. mécanisme de réutilisation, mais il ne peut pas être utilisé dans require() est utilisé dans le module es.
L'environnement d'exploitation de cet article : système Windows 10, nodejs version 12.19.0, ordinateur Dell G3.
À partir de la version 8.5.0, Node.js commence à prendre en charge les modules ES natifs, et cette fonctionnalité peut être activée via les options de ligne de commande. Les nouvelles fonctionnalités sont en grande partie dues à Bradley Farias.
1. Démo
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));
Exécutez la démo :
$ node --experimental-modules main.mjs Result: 5
2.
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. ·Aucune variable méta comme __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 - avec fichier Chemin relatif vers l'extension : ../util/tools.mjs · Bibliothèque - pas d'extension de fichier et pas de chemin lodash · Comment mieux rendre les bibliothèques npm également disponibles dans les navigateurs (sans utiliser de bundler) encore Cela reste à voir. 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 CJSVous pouvez importer des modules CJS, mais ils n'ont toujours que les exportations par défaut - c'est-à-dire la valeur de 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']
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!