Я пытался выполнить google oauth, следуя руководству, и получаю эту ошибку. Хотя на вышеупомянутый вопрос уже был дан ответ один раз, но я все еще не мог понять, что не так в том порядке, в котором я использовал. Вот мой index.js
const express=require('express');
const app=express();
const cookieSession=require('cookie-session');
const keys=require('./config/keys');
const mongoose=require('mongoose');
const passport=require('passport');
require('./models/User');
require('./services/passport');
mongoose.connect(keys.mongoURI,{ useNewUrlParser: true });
require('./routes/authRoutes')(app);
app.use(
cookieSession({
maxAge:30*24*60*60*1000,
keys:[keys.cookieKey]
})
);
app.use(passport.initialize());
app.use(passport.session());
const PORT=process.env.PORT || 5000;
app.listen(PORT);
Вот ссылка на github на репо.github
Да, действительно сработало. В чем может быть причина?
Порядок объявления промежуточного программного обеспечения важен. См. Также этот вопрос (который почти дублирует ваш).



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте переместить
require('./routes/authRoutes')(app)прямо надapp.listen(...).