如何将 json-server 的选项设置为一个模块?

How to set options for json-server as a module?

假设我们有以下命令行到 运行 一个 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');
});

我找到了如何设置延迟。这需要安装 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');
});

设置任何其他选项差异很大,但我主要需要知道如何设置延迟。