IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Accès aux variables dans les fichiers de route


Sujet :

NodeJS

  1. #1
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut Accès aux variables dans les fichiers de route
    Bonjour,

    Je débute en javascript et je me pose des questions pour organiser mon code. J'utilise Express.js et j'aimerai gérer mes routes dans des fichiers différents. Pour ce point j'ai trouvé la solution. Par contre je ne vois pas comment avoir accès dans mes fichiers de route à mes variables initialiées dans le fichier principale. Certaines variables sont initialisées dans le fichier principal dans le callback d'une fonction (hub rabbitmq et variable stormpath). Comment je peux récupérer ces variables et les communiquer à mes fichiers de route (app.get, app.post) ? Actuellement ça fonctionne car elles sont globale dans le fichier principal.

    Merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Certaines variables sont initialisées dans le fichier principal dans le callback d'une fonction
    Elles ne peuvent donc pas être accessibles, les variables accessibles par tes routes doivent être déclarées juste avant l'appel à celles-ci mais pas dans les callbacks. Comment appelle tu tes fichiers routes ?

    Actuellement ça fonctionne car elles sont globale dans le fichier principal.
    Donc ou est le problème ? J'allais te proposer de regarder du côté de app.locals ou tu peux stocker des variables accessibles dans toute ton application, y compris les templates

  3. #3
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut
    Une des variables qui est un objet qui permet d'écrire sur RabbitMq est disponible dans le callback une fois que le client est connecté à la file d'attente. Comment je peux mettre à disposition cette variable dans mon traitement d'une route ? J'appelle mes routes avec la procédure app.get, app.post (J'utilise Express.js).

    J'aimerai ne pas avoir à mettre toutes mes routes dans le fichier principal mais dans des fichiers séparés.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var rabbitHub = require('rabbitmq-nodejs-client');
     
    var taskHub = rabbitHub.create( { task: 'task', channel: 'myChannel' } );
    taskHub.on('connection', function(hub) {
     
      // A partir de là je créé mes routes et j'aimerai qu'elles aient accès à hub.
     
    });
     
    taskHub.connect();

    Merci

  4. #4
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Alors pour mettre les routes dans des fichiers à part, tu crées un fichier 'routes.js'.
    Toi il te faut passer le paramètre hub, mais également app pour pouvoir faire tes routes , Ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    module.exports = function(app, hub) {
      app.get(...)
      app.post(...)
      //etc
    }
    et dans ton fichier général pour appeler ton fichier qui contient les routes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var routes = require('routes.js') // préciser le chemin selon ou tu as placé le fichier
    routes(app, hub);
    tu n'as plus qu'à placer ça dans ton callback.
    En faisant quelque chose dans ce style la tu devrais t'en sortir

  5. #5
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut
    Merci.
    Je teste ça dès que je peux et je fais un retour.

  6. #6
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Pour avoir un autre exemple tu peux regarder cette structure :
    https://bitbucket.org/blobsmith/todo...ar-node.js/src

    Le module router est inclus dans le fichier app.js.

  7. #7
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut
    Merci j'ai fait un mix des deux et ça fonctionne.
    Je suis content :-)

Discussions similaires

  1. [PowerShell] Acces à des variables ou les noms sont stockés dans un fichiers
    Par menardb dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 02/03/2015, 14h39
  2. [HTML 5] Accès aux ressources dans les balises audio, video et img
    Par Krishna dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 08/10/2014, 10h20
  3. Introduction de nouvelles variables dans les fichiers properties
    Par MyGoul dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 31/01/2011, 18h27
  4. Réponses: 2
    Dernier message: 11/05/2010, 14h18
  5. Réponses: 2
    Dernier message: 24/09/2009, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo