简体   繁体   English

expressjs中的中间件功能错误

[英]middleware function error in expressjs

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. 得到这个奇怪的错误,我没有npm安装所需的所有依赖项。 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 这是错误的屏幕截图,请查看https://i.imgur.com/c6zoaA6.png

My app.js file 我的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);
 });

There is no package named 'express-sessions' instead use express-session so its not returning any method. 没有名为'express-sessions'软件包,而是使用express-session因此它不返回任何方法。 which app.use can call as method. 哪个app.use可以作为方法调用。 Here is package 这是

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM