我正在使用护照和mongoose进行Node.js和电子邮件验证。现在我正在测试代码,得到一个错误,但我不能修复它。下面是我的问题和代码:
我的app.js
var nev = require('email-verification')(mongoose);
require('./routes/db/email-verification')(nev);
require('./routes/db/passport')(passport,nev);我的电子邮件-vertitaiton.js
var User = require('./ModelUser');
module.exports = function(nev){
nev.configure({
...
...
},function(err,options){
if(err)
return err;
console.log('test');
});
nev.generateTempUserModel(User,function(err,tempUserModel){
if(err){
return err;
}
console.log('checked');
});
};我的passport.js
module.exports = function (passport, nev) {
...
...
passport.use('local-signup', new LocalStrategy({
usernameField: 'email', //dummy string
passwordField: 'password', //dummy string
passReqToCallback: true
}, function (req, email, password, done) {
var newUser = new User();
newUser.email = email;
newUser.password = password;
nev.createTempUser(newUser, function( err, existingPersistentUser, newTempUser){
if(err) console.error(err);
if(existingPersistentUser){
console.log('E-mail already exists');
return done(null, false, req.flash('signupMessage', 'E-mail already exists'));
}
if(newTempUser){
var URL = newTempUser[nev.options.URLFieldName];
nev.sendVerificationEmail(email, URL, function(err, info){
if(err) console.error(err);
console.log('An email has been sent to you. Please check it to verify your account.');
return done(null);
})
} else{
console.log('You have already signed up. Please check your email to verify your account.');
return done(null);
}
})我得到一个错误TypeError:无法读取未定义的属性'createTempUser‘我不知道为什么我的'nev’变量在我的passport.js中没有定义。有没有人可以帮助me>?这是非常困难的。
发布于 2018-08-02 22:44:00
在email-verificaiton.js中,将其更改为如下所示:
function verification(nev) {
nev.configure({
...
...
},function(err,options){
if(err)
return err;
console.log('test');
});
nev.generateTempUserModel(User,function(err,tempUserModel){
if(err){
return err;
}
console.log('checked');
});
};
module.exports = {verification}然后在app.js中,您可以更改
var nev = require('email-verification')(mongoose);成为
var nev = require('email-verification').verification(mongoose);https://stackoverflow.com/questions/51656196
复制相似问题