簡體   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