在 express 路由器中使用 redis 客户端
Using redis client in express router
我想在某些端点使用 redis 客户端。
我的app.js是这样设置的
//app.js
const redis = require('redis');
const client = redis.createClient(process.env.REDIS_PORT, 'redis');
const api = require('./routes/api');
const app = express();
const passport = require('passport');
app.use('/api', api(passport));
//api.js
module.exports = function (passport) {
router.get("/reset", reset.resetPassword)
return router
};
//reset.js
module.exports = (函数() {
var resetPassword = function(req, res) {
//do something with redis client here
}
return {
resetPassword: resetPassword
}
})()
如何将redis 客户端传递给resetPassword 函数?
我尝试将它传递给 api.js 然后 reset.js 但 resetPassword 函数似乎不喜欢除 req、res 和 next...
之外的参数
您可以将 Redis 客户端导出为模块并在您的路由处理程序中使用它。
// redis-client.js
const redis = require('redis');
const client = redis.createClient(process.env.REDIS_PORT, 'redis');
module.exports = client;
// reset.js
const redisClient = require('./redis-client');
var resetPassword = function(req, res) {
// do something with redis client here
}
我想在某些端点使用 redis 客户端。
我的app.js是这样设置的
//app.js
const redis = require('redis');
const client = redis.createClient(process.env.REDIS_PORT, 'redis');
const api = require('./routes/api');
const app = express();
const passport = require('passport');
app.use('/api', api(passport));
//api.js
module.exports = function (passport) {
router.get("/reset", reset.resetPassword)
return router
};
//reset.js
module.exports = (函数() {
var resetPassword = function(req, res) {
//do something with redis client here
}
return {
resetPassword: resetPassword
}
})()
如何将redis 客户端传递给resetPassword 函数? 我尝试将它传递给 api.js 然后 reset.js 但 resetPassword 函数似乎不喜欢除 req、res 和 next...
之外的参数您可以将 Redis 客户端导出为模块并在您的路由处理程序中使用它。
// redis-client.js
const redis = require('redis');
const client = redis.createClient(process.env.REDIS_PORT, 'redis');
module.exports = client;
// reset.js
const redisClient = require('./redis-client');
var resetPassword = function(req, res) {
// do something with redis client here
}