repost:设置express.js服务器



我在设置我的快递服务器时遇到这个错误,我仍然开始学习快递,所以我仍然不知道它的一些意思

/home/runner/log-in-API/node_modules/express/lib/router/index.js:513
this.stack.push(layer);
^
TypeError: Cannot read properties of undefined (reading 'push')
at Function.route (/home/runner/log-in-API/node_modules/express/lib/router/index.js:513:14)
at file:///home/runner/log-in-API/api/reviews.route.js:4:8
at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:385:24)

这是我的index.js

import app from "./server.js"
import mongodb from "mongodb"
/* import ReviewsDao from "./dao/reviewsDAO.js " */
const dbUser = process.env['MONGO_USERNAME']
const dbPword = process.env['MONGO_PASSWORD']
const MongoClient = mongodb.MongoClient
const uri = `SECRET`
const port = 8000
MongoClient.connect(uri, {
maxPoolSize: 50,
wtimeoutMS: 2500,
useNewUrlParser: true
})
.catch(err => {
console.error(err.stack)
process.exit(1)
})
.then(async client => {
await ReviewsDAO.injectDB(client)
app.listen(port, () => {
console.log(`Listening to ${port}`)
})
})

这是我的server.js

import express from "express"
import cors from "cors"
import reviews from "./api/reviews.route.js"
const app = express()
app.use(cors())
app.use(express.json())
app.use("/api/v1/reviews", reviews)
app.use("*", (req, res) => res.status(404).json({error: "not found"}))
export default app
这里是我的review .route.js,它位于一个名为api 的文件夹中
import express from 'express'
const router = express.Router
router.route('/').get((req, res) => {
res.send('Hello world')
})
export default router

我错过了什么我试图遵循这个教程免费代码营和我目前在6:16:30时间戳

我试着修复所有的东西,甚至拼写错误,我仍然遇到这个问题,可能是什么问题?

我认为这个问题是因为你构建路由器的方式,尝试router.get('/', (req, res) => {而不是router.route('/').get((req, res) => {而产生的。这能起作用吗?要初始化您的路由器,请尝试const router = express.Router();而不是const router = express.Router(因此调用工厂函数)

最新更新