提问者:小点点

为什么我的express路由器不响应我的get请求?


所以我制作了一个简单的express应用程序,但是我已经尝试了几个小时,以便在访问http://localhost:3000/时获得对一个简单的get请求的响应

这是我的app.js

// IMPORTS
const express           = require('express')
const mongoose          = require('mongoose')
const customerRouter    = require('./routes/customerRoute.js')
const app               = express()
const PORT              = 3000

// CONNECTION
mongoose.connect('mongodb://localhost/Customers', {useUnifiedTopology: true })
mongoose.connection.on('open', () => {console.log('Connected to database.')})

//APP USE ROUTES AND JSON
app.use(express.json)
app.use('/customers',customerRouter)

app.get('/', (req, res) => {
    res.send('Home')
})

// APP PORT SET
app.listen(PORT)
console.log('Server started on port 3000')

这是我的路由文件

const express = require('express')
const router  = express.Router()

console.log('into the router')

router.get('/', (req, res) => {
    console.log('GET request')
})


module.exports = router

共2个答案

匿名用户

app.use(express.json())替换app.use(express.json),一切都将正常工作。您在这个用JSON有效载荷解析传入请求的中间件中有一个错误。

来源:express docs

匿名用户

您在中间件中犯了一个错误app.use(express.json())是一个函数,而不是express对象的属性。