如何将 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');
});
设置任何其他选项差异很大,但我主要需要知道如何设置延迟。
假设我们有以下命令行到 运行 一个 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');
});
设置任何其他选项差异很大,但我主要需要知道如何设置延迟。