node.js - json-server 中间件未按预期工作

标签 node.js express json-server

使用node.js/Express/json-server

我正在尝试检查(并修改)发送到我的 API json 服务器的请求 URL。我在我的应用程序 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)

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

最佳答案

我看了这里

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

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

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')))

关于node.js - json-server 中间件未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659177/

相关文章:

javascript - 快速路由匹配 url

javascript - 编译 Jade 模板时出现类型错误

ios - 从 Node.js (Express) 服务器发送字符串到 iOS Swift 3

javascript - 同时 Node 以状态 1 退出。这会停止 Teamcity,导致其认为测试失败

javascript - 如何在 Json-server 和 Axios 中使用 delete 方法?

node.js - 在 nodejs 中重用 postgresql 连接池

node.js - 如何使用 firebase 函数刷新 google oauth2 上的 token ?

javascript - 调用另一个导出方法的函数

node.js - 有没有办法监控 Express.js 中的每个响应?

reactjs - json-server 未被识别为内部或外部命令