【问题标题】:typeerror: app.use() requires middleware function fixtypeerror: app.use() 需要中间件功能修复
【发布时间】:2021-03-04 08:13:54
【问题描述】:

我正在与 Mern 创建一个电子商务网站。这些是早期阶段。当教授运行 npm run dev 启动讲座时,我的弹出错误指示 app.use 需要中间件功能它说 [nodemon] 应用程序崩溃:我尝试了匹配代码和它的相同。请帮我解决我在这里停留了几个小时的错误尝试了很多编辑,但它对我不起作用。

require('dotenv').config()
const express = require('express')
const mongoose = require('mongoose')
const cors = require('cors')
const fileupload = require('express-fileupload')
const cookieParser = require('cookieParser')


const app = express()
app.use(express.json())
app.use(cookieParser())
app.use(cors())
app.use(fileupload({
    useTempFiles: true
}))

// connect to mongodb
const URI = process.env.MONGODB_URL
mongoose.connect(URI, {
    useCreateIndex: true,
    useFindAndModify: false,
    useNewUrlParser: true,
    useUnifiedTopology: true
}, err =>{
    if(err) throw err;
    console.log('Connected to MongoDB')
})


app.get('/', (req, res) =>{
    res.json({msg: "Welcome to AcesDesigns, please enjoy our services. Thanks"})
})

const PORT = process.env.PORT || 5000
app.listen(PORT, () =>{
    console.log('Server is running on port', PORT)
})

这里是代码。服务器.js

终端中的错误信息如下

$ npm run dev

> ecommerce@1.0.0 dev C:\Users\EVA MWASHIGADI\Ecommerce
> nodemon server.js

[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json  
[nodemon] starting `node server.js`
C:\Users\EVA MWASHIGADI\Ecommerce\node_modules\express\lib\application.js:210
    throw new TypeError('app.use() requires a middleware function')
    ^
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
[nodemon] app crashed - waiting for file changes before starting...

【问题讨论】:

  • cookieParser 是哪个包?您可能正在寻找 require('cookie-parser')。该错误表明您没有将有效函数传递给app.use()

标签: javascript


【解决方案1】:

您是否使用了正确的 cookie-parser 包?不是吗

require('cookie-parser')

这是我认为你会遇到问题的唯一地方

【讨论】:

    猜你喜欢
    • 2019-11-14
    • 2015-01-20
    • 2015-10-17
    • 2015-10-08
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多