simplemente empecé a usar una nueva versión de Express (2.5.5) que, por defecto crea un directorio ./routes
junto con ./views
y ./public
Cómo acceder a las variables declaradas en la aplicación principal.js en archivos de ruta separados en node.js Express 2.5.5?
Dentro de las rutas hay un archivo que contiene index.js
:
/*
* GET home page.
*/
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
por defecto (después de ejecutar express
desde la línea de comandos) y esta es la sección de rutas en el principal app.js
:
// Routes
app.get('/', routes.index);
He configurado una variable para un cliente Redis en el principal app.js
:
var redis = require('redis'),
db = redis.createClient();
y me preguntaba cómo podía acceder a los métodos de db
(y cualesquiera otros módulos de E require
en app.js
) en los archivos contenidos en ./routes
Pongo No sé si esta es una buena práctica, pero podría tener sus módulos envueltos dentro de una función 'exports.init' que toma las instancias compartidas como argumentos. Esa función devolvería las funciones de exportación reales, y necesita el archivo como 'var routes = require (" ./ routes/"). Init (db);'. – pimvdb