middleware function error in expressjs

时间:2018-05-23 11:32:25

标签: node.js express passport.js

I unable to run node main file in terminal and I am using handlebar as template engine

getting this weird error I did npm install all dependencies which is required. but still getting this error.

/home/mohsin/Desktop/mohsin/react/react-web-app/node_modules/express/lib/application.js:210
throw new TypeError('app.use() requires a middleware function')
^

TypeError: app.use() requires a middleware function

this is error screenshot please have look https://i.imgur.com/c6zoaA6.png

中的点击重定向页面

我的app.js文件

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const exphbs = require('express-handlebars');
const expressValidator = require('express-validator');
const flash = require('connect-flash');
const session = require('express-sessions');
const passport = require('passport');
const mongoose = require('mongoose');

// Port env
const port = 3000;

// Route files
 const index = require('./routes/index');
const user = require('./routes/user');

  // Init App
  const app = express();

  // View Engine
    app.engine('handlebars', exphbs({defaultLayout: 'main'}));
   app.set('view engine', 'handlebars');

   // Static Folder
   app.use(express.static(path.join(__dirname, 'public')));

   // Body parser middleware
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false}));

     // Express Session
      app.use(session({
secret: 'secret',
saveUninitialized: true,
resave: true
 }));



 // Start server
 app.use('/', index);
 app.use('/user', user);

  // Start Server
 app.listen(port, () => {
 console.log('Server started on port '+port);
 });

1 个答案:

答案 0 :(得分:2)

没有名为'express-sessions'的包 而是使用express-session 所以它没有返回任何方法。哪个app.use可以作为方法调用。 这是package