Я получаю эту ошибку, когда пытаюсь запустить сервер, пытаясь установить требуемый модуль Passport.
Passport JS -> require (...) не является функцией
const passport = require('passport');
require('./config/passport')(passport);
ОБНОВЛЕНО Здесь паспортный файл
const LocalStrategy = require('passport-local').Strategy;
const User = require('../app/models/user');
module.export = function(passport) {
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
})
});
passport.use('local-signup', new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
passReqToCallback: true
},
function(req, email, password, done) {
User.findOne({ 'local.email': email }, function(err, user) {
if (err) { return done(err); }
if (user) {
return done(null, false, req.flash('signupMessage', 'El email ya existe'));
} else {
var newUser = new User();
newUser.local.email = email;
newUser.local.password = newUser.generateHash(password);
newUser.save(function(err) {
if (err) { throw err; }
return done(null, newUser);
});
}
})
}));
passport.use('local-login', new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
passReqToCallback: true
},
function(req, email, password, done) {
User.findOne({ 'local.email': email }, function(err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, req.flash('loginMessage', 'El email no ha sido encontrado'));
}
if (!user.validatePassword(password)) {
return done(null, false, req.flash('loginMessage', 'Wrong password'));
}
return done(null, user);
})
}));
}
Lorem Ipsum - просто фиктивный текст в полиграфической и наборной индустрии.Лорем Ипсум был стандартным манекенщиком в отрасли с 1500-х годов, когда неизвестный принтер взял набор шрифтов и скремблировал его, чтобы сделать книгу типовых образцов.Он пережил не только пять веков, но и скачок в электронном наборе текста, оставаясь практически неизменным.Он был популяризирован в 1960-х годах с выпуском листов Letraset, содержащих отрывки из Lorem Ipsum, а позднее - с программным обеспечением для настольных издательских систем, таким как Aldus PageMaker, включая версии Lorem Ipsum.