Javascript 如何在jsonServer中将自定义路由移到server.js之外

Javascript 如何在jsonServer中将自定义路由移到server.js之外,javascript,node.js,json,Javascript,Node.js,Json,在server.js中,我使用的是json服务器。我想搬家 server.get('/api/1.0/searchDoc', (req, res) => { const searchType = req.query['searchType']; const searchValue = req.query['searchValue']; res.status(200).jsonp({searchType, searchValue}); }); 到route.js,然

server.js
中,我使用的是
json服务器
。我想搬家

server.get('/api/1.0/searchDoc', (req, res) => {
    const searchType = req.query['searchType'];
    const searchValue = req.query['searchValue'];
    res.status(200).jsonp({searchType, searchValue});
});
route.js
,然后导入
server.js
。我如何做到这一点

完整代码

// json server
const jsonServer = require('json-server');
// create server
const server = jsonServer.create();

// data as router
const allDocData = require('../response.json');
const searchDocData = require('../searchResponse.json');
const dataObj = {
    'mockResponse': allDocData,
    'searchDocData': searchDocData
};

const router = jsonServer.router(dataObj);

// mid-ware
const middlewares = jsonServer.defaults();

// package.json uses port 4000
const port = 4000;

// live before router
// e.g. http://localhost:4000/api/1.0/searchDoc/?searchType='customerId'&searchValue='1234'
server.get('/api/1.0/searchDoc', (req, res) => {
    const searchType = req.query['searchType'];
    const searchValue = req.query['searchValue'];
    res.status(200).jsonp({searchType, searchValue});
});

// use mid-ware
server.use(middlewares);
// use data
server.use(router);

// user body parser
server.use(jsonServer.bodyParser);
// use mid-ware
server.use(middlewares);

// use router
server.use(router);

// listen
server.listen(port);

你是说像这样吗<代码>www.js

const JSONServer = require('jsonserver')

function build() {
 const server = JSONServer.create()

 server.get('/api/1.0/searchDoc', (req, res) => {
    const searchType = req.query['searchType'];
    const searchValue = req.query['searchValue'];
    res.status(200).jsonp({searchType, searchValue});
 });

 return server
}

module.exports = build
例如,在另一个文件
index.js

const build = require('./www.js')
const server = build()
// use mid-ware
server.use(middlewares);
// use data
server.use(router);

// user body parser
server.use(jsonServer.bodyParser);
// use mid-ware
server.use(middlewares);

// use router
server.use(router);

// listen
server.listen(port);

如果你把它还回去,你就可以了。

你是说这样吗<代码>www.js

const JSONServer = require('jsonserver')

function build() {
 const server = JSONServer.create()

 server.get('/api/1.0/searchDoc', (req, res) => {
    const searchType = req.query['searchType'];
    const searchValue = req.query['searchValue'];
    res.status(200).jsonp({searchType, searchValue});
 });

 return server
}

module.exports = build
例如,在另一个文件
index.js

const build = require('./www.js')
const server = build()
// use mid-ware
server.use(middlewares);
// use data
server.use(router);

// user body parser
server.use(jsonServer.bodyParser);
// use mid-ware
server.use(middlewares);

// use router
server.use(router);

// listen
server.listen(port);

如果您只是返回它,您可以这样做。

有很多方法可以实现这一点-另一种方法是将
服务器
实例注入
route.js
模块,这将使您的应用程序的路由问题能够提取为:

route.js

/* 
Define default module function that configures apps routing for the specified 
server instance
*/
module.exports = function(server) {

    server.get('/api/1.0/searchDoc', (req, res) => {
        const searchType = req.query['searchType'];
        const searchValue = req.query['searchValue'];
        res.status(200).jsonp({searchType, searchValue});
    });
}
const jsonServer = require('json-server');

/* 
Import default module function from route.js module. We'll assing this
function to the configureRoutes variable and call it in the server.js when
needed. This import assumes route.js exists in the same directory of this
source file 
*/
const configureRoutes = require('./route.js');

const server = jsonServer.create();
const allDocData = require('../response.json');
const searchDocData = require('../searchResponse.json');
const dataObj = {
    'mockResponse': allDocData,
    'searchDocData': searchDocData
};

const router = jsonServer.router(dataObj);
const middlewares = jsonServer.defaults();

const port = 4000;

/*
Call configureRoutes() to configure routes on your server instance via the
new route.js module
*/
configureRoutes(server);

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

server.listen(port);
server.js

/* 
Define default module function that configures apps routing for the specified 
server instance
*/
module.exports = function(server) {

    server.get('/api/1.0/searchDoc', (req, res) => {
        const searchType = req.query['searchType'];
        const searchValue = req.query['searchValue'];
        res.status(200).jsonp({searchType, searchValue});
    });
}
const jsonServer = require('json-server');

/* 
Import default module function from route.js module. We'll assing this
function to the configureRoutes variable and call it in the server.js when
needed. This import assumes route.js exists in the same directory of this
source file 
*/
const configureRoutes = require('./route.js');

const server = jsonServer.create();
const allDocData = require('../response.json');
const searchDocData = require('../searchResponse.json');
const dataObj = {
    'mockResponse': allDocData,
    'searchDocData': searchDocData
};

const router = jsonServer.router(dataObj);
const middlewares = jsonServer.defaults();

const port = 4000;

/*
Call configureRoutes() to configure routes on your server instance via the
new route.js module
*/
configureRoutes(server);

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

server.listen(port);

有多种方法可以实现这一点-另一种方法是将
服务器
实例注入
路由.js
模块,这将使您的应用程序的路由问题能够提取为:

route.js

/* 
Define default module function that configures apps routing for the specified 
server instance
*/
module.exports = function(server) {

    server.get('/api/1.0/searchDoc', (req, res) => {
        const searchType = req.query['searchType'];
        const searchValue = req.query['searchValue'];
        res.status(200).jsonp({searchType, searchValue});
    });
}
const jsonServer = require('json-server');

/* 
Import default module function from route.js module. We'll assing this
function to the configureRoutes variable and call it in the server.js when
needed. This import assumes route.js exists in the same directory of this
source file 
*/
const configureRoutes = require('./route.js');

const server = jsonServer.create();
const allDocData = require('../response.json');
const searchDocData = require('../searchResponse.json');
const dataObj = {
    'mockResponse': allDocData,
    'searchDocData': searchDocData
};

const router = jsonServer.router(dataObj);
const middlewares = jsonServer.defaults();

const port = 4000;

/*
Call configureRoutes() to configure routes on your server instance via the
new route.js module
*/
configureRoutes(server);

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

server.listen(port);
server.js

/* 
Define default module function that configures apps routing for the specified 
server instance
*/
module.exports = function(server) {

    server.get('/api/1.0/searchDoc', (req, res) => {
        const searchType = req.query['searchType'];
        const searchValue = req.query['searchValue'];
        res.status(200).jsonp({searchType, searchValue});
    });
}
const jsonServer = require('json-server');

/* 
Import default module function from route.js module. We'll assing this
function to the configureRoutes variable and call it in the server.js when
needed. This import assumes route.js exists in the same directory of this
source file 
*/
const configureRoutes = require('./route.js');

const server = jsonServer.create();
const allDocData = require('../response.json');
const searchDocData = require('../searchResponse.json');
const dataObj = {
    'mockResponse': allDocData,
    'searchDocData': searchDocData
};

const router = jsonServer.router(dataObj);
const middlewares = jsonServer.defaults();

const port = 4000;

/*
Call configureRoutes() to configure routes on your server instance via the
new route.js module
*/
configureRoutes(server);

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

server.listen(port);