json-server中间件无法按预期工作

时间:2017-12-05 17:16:49

标签: node.js express json-server

使用node.js / Express / json-server

我正在尝试检查(并修改)发送到我的API json-server的请求url。我在app server.js

中写了下面的中间件
//  API JSON-SERVER
const jsonServer = require('json-server')
const apiServer = jsonServer.create()
const apiMiddlewares = jsonServer.defaults()
apiServer.use(apiMiddlewares)
...
apiServer.use((req, res, next) => {
  console.log('REQUEST: ', req)  
  next() // Continue to JSON Server Router  
})
...
apiRouter = jsonServer.router(path.join(__dirname, '..', 'server', 'db-dev.json'))
app.use('/api', apiRouter)

但我从未收到请求 我哪里错了?

1 个答案:

答案 0 :(得分:2)

我看了这里

https://github.com/typicode/json-server/issues/253

在我看来,你永远不想实例化jsonServer,但只使用路由器。由于您使用的是快速服务器,因此您应该将中间件附加到该服务器上。

const express = require('express')
const jsonServer = require('json-server')

const app = express()

app.use((req, res, next) => {
 console.log('REQUEST: ', req)  
 next() // Continue to JSON Server Router   
})

app.use('/api', jsonServer.router(path.join(__dirname, '..', 'server', 'db-dev.json')))