错误:TypeError('app.use()需要中间件函数

问题描述 投票:0回答:1

我刚刚开始学习Node Js并且正在尝试下面的代码,但是这里有一些错误而且它正在抛出错误。有类似的问题可用,但无法弄清楚这有什么问题。

const express = require('express');
var app = express();
const path = require('path');
const PORT = process.env.PORT || 5000;
const logger = require('./middleware/logger')
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const helmet = require('helmet');
const passport = require('passport');
var securedRoutes = express.Router();


//set static folder
app.use(express.static(path.join(__dirname,'public')));

securedRoutes.get('/',(req,res) => {
    res.send('Test!!!Vmal');
})

//Init middleware
app.use(logger);
app.use(helmet());
app.use(helmet.contentSecurityPolicy({
    directives: {
      defaultSrc: ["'self'"]
    }
}));

app.use(passport);
app.use(cookieParser());
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true,parameterLimit:50000}));
app.listen(PORT,() => console.log(`server started on port ${PORT}`));
module.exports = app;

错误:抛出新的TypeError('app.use()需要一个中间件函数')^ TypeError:app.use()需要一个中间件函数。

有人可以帮忙吗。谢谢

javascript node.js express monodevelop router
1个回答
3
投票

由于您使用passport模块,因此在从app引用时必须对其进行初始化。

来自npm文档https://www.npmjs.com/package/passport

...
app.use(passport.initialize());
app.use(cookieParser());
...
© www.soinside.com 2019 - 2024. All rights reserved.