existe-t-il un moyen de mettre les fonctions exportées de modules dans l'espace de noms global, plutôt que d'un module spécifique?
module em>: p> fichier principal em>: p> peut-il être fait? p> p>
3 Réponses :
Vous devriez être capable de faire puis faites-la signaler sans préfixe. p> p>
Vous pouvez utiliser Syntaxe ES6 pour créer automatiquement des variables dans la portée locale des propriétés spécifiques de l'objet renvoyé de exiger () code> comme ceci: p> garder à l'esprit que ce ne sont pas des globaux non plus. Ce sont des variables de niveau de module. Ceci est vraiment juste un raccourci de langue pour cela: P> nécessite () code> n'apporte pas automatiquement les choses à l'espace de noms global comme si vous posez. Cela ne fait pas cela et n'est pas comme ça que ça marche. Il renvoie une valeur pouvant être une valeur individuelle ou un objet ou une matrice pleine de valeurs multiples. Vous devez affecter la valeur de retour ou une propriété sur la valeur de retour à quelque chose afin de l'enregistrer pour une utilisation ultérieure.
const temp = require('./mod');
const sayName = temp.sayName;
const sayAge = temp.sayAge;
sayName("Pedro"); // My name is Pedro
sayAge(28); // My age is 28
oui !!, vous pouvez les ajouter à l'objet fort> global strong>. ( Ceci est considéré comme une mauvaise pratique, car tout le monde peut apporter des modifications à nos fonctions em>) afin que vous puissiez simplement les appeler directement sans attribution de variables locales: < / p>