node.js – accediendo a variables requeridas desde otros archivos

Tengo una aplicación de nodo compuesta principalmente por dos archivos, el principal “app.js” y un “router.js”. En el archivo app.js estoy solicitando todos los archivos que necesito, por ejemplo, el cliente Redis.

Soy un novato total y estoy tratando de averiguar cómo “acceder” a la variable “cliente” recién creada en router.js:

//app.js file var redis = require("redis"), client = redis.createClient(9981, "herring.redistogo.com"); app.get('/', routes.index); //router.js file exports.index = function(req, res){ client.get("test", function(err, reply) { console.log(reply.toString()); }); }; 

Obviamente obtengo un “cliente no definido”, porque no se puede acceder a él desde ese archivo router.js. ¿Cómo puedo solucionar esto?

Gracias por adelantado.

Coloque el objeto cliente Redis en su propio archivo que los otros archivos require :

 // client.js file var redis = require("redis"), client = redis.createClient(9981, "herring.redistogo.com"); client.auth("mypassword"); module.exports = client; //router.js file var client = require("./client"); exports.index = function(req, res){ client.get("test", function(err, reply) { console.log(reply.toString()); }); }; 

Los módulos requeridos en el nodo solo se cargan una vez, y cada archivo que requiere el módulo obtiene el mismo objeto para que todos compartan el único objeto del cliente Redis.