【问题标题】:How to set options for json-server as a module?如何将 json-server 的选项设置为模块?
【发布时间】:2018-01-08 22:45:33
【问题描述】:

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

【问题讨论】:

    标签: json-server


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-30
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 2022-06-13
      相关资源
      最近更新 更多