繁体   English   中英

将路由参数传递给ExpressJS中的控制器

[英]Pass route parameter to controller in ExpressJS

我正在使用护照JS来验证我的用户帐户。 从app.js将password变量传递给routes.js和controller.js。 当我在route.js和controller.js之间传递时,我不知道如何实现。 我尝试了不同的方法,但是没有用。 我的首要任务是将所有实现代码存储在控制器内部,而不是路由。

App.js

var userRouter = require('./api/routes/userRoutes.js')(app,passport);

Routes.js

module.exports = function(app,passport){
  var UserRouter = express.Router();
  users = require('./../controllers/UserController')
  UserRouter.post('/users', users.authenticate);
}

Controller.js

exports.authenticate = function(req, res, next){
    // How do I get passport variable here?
}

不确定在这种情况下这是最好的方法,但是像一个选项一样,您可以尝试以下操作:

在App.js中:

global. passport = passport;
var userRouter = require('./api/routes/userRoutes.js')(app, passport);

在Controller.js中:

exports.authenticate = function(req, res, next) {
    console.log(global.passport);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM