Бросить новый TypeError('app.use() требует функций промежуточного программного обеспечения'); Ошибка сеанса

Итак, я в настоящее время изучаю NodeJS и сталкиваюсь с этой ошибкой:

/home/lindan4/Git/HelloNodeJS/ChatTime/node_modules/express/lib/application.js:209
    throw new TypeError('app.use() requires middleware functions');
    ^

TypeError: app.use() requires middleware functions
    at Function.use (/home/lindan4/Git/HelloNodeJS/ChatTime/node_modules/express/lib/application.js:209:11)
    at Object.<anonymous> (/home/lindan4/Git/HelloNodeJS/ChatTime/server.js:14:5)
    at Module._compile (internal/modules/cjs/loader.js:707:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
    at Module.load (internal/modules/cjs/loader.js:605:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
    at Function.Module._load (internal/modules/cjs/loader.js:536:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:760:12)
    at startup (internal/bootstrap/node.js:308:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3)

Вот файл server.js:

'use strict';

const express = require('express');
const app = express();


const chatTime = require('./app');
const passport = require('passport');

app.set('port', process.env.PORT || 3000);
app.use(express.static('public'));

//Below statement must appear before router is mounted
app.use(chatTime.session);
app.use(passport.initialize());
app.use(passport.session());

app.use('/', chatTime.router);
app.set('view engine', 'ejs');



app.listen(app.get('port'), () => {
  console.log('ChatTime running on port', app.get('port'));
});
Проблема, кажется, лежит внутри строки "chatTime.session". Его реализация находится в файле ниже:

'use strict';


require('./auth')();


module.exports = {
  router: require('./routes')(),
  session: require('./session')
}

и вот реализация модуля "Session":

'use strict';

const session = require('express-session');

//We want to check that the cookie has not been tampered with if the website is reaccessed
const MongoStore = require('connect-mongo')(session);

const config = require('../config');

const db = require('../db');

if (process.env.NODE_ENV === 'production')
{
  //Initialize production settings
  module.exports = session({
      secret: config.sessionSecret,
      resave: false,
      saveUninitialized: false,
      store: new MongoStore({
          mongooseConnection: db.mongoose.connection
      })
    })
}
else
{
  //Initialize development settings

  module.exports = session({
      secret: config.sessionSecret,
      resave: false,
      saveUninitialized: true
    })

}

Я не могу точно определить, что именно нужно исправить, и надеялся, что кто-то может помочь.

0 ответов

Другие вопросы по тегам