【发布时间】: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