我使用护照JS来验证我的用户帐户。将护照变量从app.js传递给routes.js和controller.js。当我在routes.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?
}
答案 0 :(得分:0)
在这种情况下不确定它是最好的方法,但是像一个选项你可以试试这个:
在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);
}