一个关于我似乎无法正常工作的简单问题...
我正在一个名为limiter.js
的单独文件中为我的API开发基本的速率限制器。我希望每个调用都可以通过限制器运行,因此我将其包含在server.js
文件中。
我正在使用Redis来存储请求,因此我也需要传递Redis的引用。
//server.js
var limiter = require('./limiter')(app,redisClient);
app.use(limiter.check());
我如何也可以将
req
和res
用于文件。在我的
limiter.js
文件中,我有:module.exports = function (app, redisClient) {
var limiter = {};
limiter.check = function (req, res) {
console.log(req) //ERROR: req object does not exist
var ts = moment().unix();
var ip = req.connection.remoteAddress;
var key = ip + ":" + ts;
...
};
return limiter;
};
但是
req
对象不存在 最佳答案
app.use
方法需要一个方法,但是您正在尝试调用limiter.check
并传递结果。删除多余的括号,它应该可以工作。
关于node.js - Express.js-文件分离和传递参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27623460/