2

假设我们有以下命令行来运行 json-server ( https://github.com/typicode/json-server ):

json-server db.json --routes routes.json --port 8008 --delay 1000

如果我们将 json-server 作为模块运行,我们如何设置这些选项?我可以看到定义的 db.json 和定义的端口。但目前尚不清楚如何定义其余选项。

const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json');
const middleWares = jsonServer.defaults();

server.use(middleWares);

router.render = (req, res) => {
    console.log(req);  
};

server.use(router);
server.listen(8008, () => {
    console.log('JSON Server is running');
});
4

1 回答 1

6

我找到了如何设置延迟。这需要安装 connect-pause 包,该包也用于 json-server 代码(https://www.npmjs.com/package/connect-pause):

npm install connect-pause

然后在 server.js 文件上,我添加了以下一个 require('connect-pause') 并在 json 服务器应用程序中使用它。这是我的代码:

const fs = require('fs');
const pause = require('connect-pause');
const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json');
const middlewares = jsonServer.defaults();

server.use(middlewares);
server.use(jsonServer.bodyParser);

//
// Define custom routes (routes.json)
//
var routes = JSON.parse(fs.readFileSync('routes.json'));
server.use(jsonServer.rewriter(routes));

...

server.use(pause(1000));
server.use(router);
server.listen(8008, () => {
  console.log('JSON Server is running');
});

设置任何其他选项千差万别,但我主要需要知道如何设置延迟。

于 2017-08-22T19:18:38.440 回答