在我的 app.js 中,我有一些变量,例如
var user = "max";
和路线功能
app.post('/register', user.postRegister);
在我的 /routes/user.js 我有一个像这样的模块函数
exports.postRegister = function(req, res){
// how do get the user variable from here?
}
在我的 app.js 中,我有一些变量,例如
var user = "max";
和路线功能
app.post('/register', user.postRegister);
在我的 /routes/user.js 我有一个像这样的模块函数
exports.postRegister = function(req, res){
// how do get the user variable from here?
}
你可以用一个闭包来做到这一点,就像这样:
app.post('/register', user.postRegister(user));
exports.postRegister = function(user) {
return function(req, res){
// now you have user here
}
}
我想你想访问控制器中的用户信息,如果是这样的话。在这种情况下最好使用会话。
例子:
var setSession = function(req, res, next)
{
req.session.user = "max";
//Or get the actual user by querying the database
next();
}
然后
app.post('/register', setSession, user.postRegister(user));
exports.postRegister = function(req, res){
var user = req.session.user;
}
创建一个部分函数,以便将用户名作为第一个参数传递给您的处理程序:
// app.js
var userName = 'max';
app.post('/register', user.postRegister.bind(user, userName));
// routes/user.js
exports.postRegister = function(userName, req, res) {
...
}