我是Javascript的新手,甚至比Node更新。我正在尝试读取快速服务器代码,但无法弄清楚我的app.js文件中的以下行:
module.require('./auth')(passport);
我知道我有一个变量,它在app.js中保存了护照模块:
var passport = require('passport');
并且我在同一目录中也有auth.js,它导出以下函数:
module.exports = function(passport) {
passport.use('local-login', new LocalStrategy({
usernameField: 'email'
}, function(idpEmail, password, done) {
// do email mapping
findEmailFromDummyDb(idpEmail, password,function(err,user){
if(err) {
done(null, false, {
messages: err.toString()
});
} else {
done(null, {
sysEmail: user.sysEmail
});
}
});
}));
然而,以下功能实际上做了什么?
module.require('./auth')(passport);
答案 0 :(得分:1)
下面返回一个javascript函数。
module.require('./auth');
然后,您立即使用passport对象作为函数参数调用该函数。
(passport)
答案 1 :(得分:1)
module.require('./auth')
导入一个函数,然后以passport
作为参数调用它。它与
const auth = require('./auth');
const passport = require('passport');
auth = auth(passport);