Les variables globales peuvent être utilisées dans Node lorsqu'il est utilisé à bon escient .
Déclaration des variables globales dans Node :
a = 10;
GLOBAL.a = 10;
global.a = 10;
Toutes les commandes ci-dessus effectuent les mêmes actions avec des syntaxes différentes.
Utiliser les variables globales lorsqu'elles ne sont pas sur le point d'être modifiées
Voici un exemple de ce qui peut arriver lorsqu'on utilise des variables globales :
// app.js
a = 10; // no var or let or const means global
// users.js
app.get("/users", (req, res, next) => {
res.send(a); // 10;
});
// permissions.js
app.get("/permissions", (req, res, next) => {
a = 11; // notice that there is no previous declaration of a in the permissions.js, means we looking for the global instance of a.
res.send(a); // 11;
});
Expliqué :
Exécuter la route des utilisateurs en premier et recevoir 10 ;
Ensuite, exécutez la route des autorisations et recevez 11 ;
Ensuite, exécutez à nouveau la route des utilisateurs et recevez également 11 au lieu de 10 ;
Les variables globales peuvent être dépassées !
Maintenant, pensez à l'utilisation de l'express et à l'assignation de l'objet de la réserve comme global Et vous vous retrouvez avec une erreur asynchrone qui devient corrompue et le serveur s'arrête.
Quand utiliser les variables globales ?
Comme je l'ai dit - quand var n'est pas sur le point d'être modifié. Quoi qu'il en soit, il est plus recommandé d'utiliser la fonction process.env
à partir du fichier de configuration.
2 votes
Voir ce post stackoverflow.com/questions/4140661/
1 votes
Cela répond-il à votre question ? Variables globales pour les modules standards node.js ?
2 votes
FYI Utilisez
global
(en minuscules) au lieu deGLOBAL
(majuscules) par avertissement de dépréciation du nœud0 votes
Voir aussi : Variables globales de Node.js