mirror of
https://github.com/typicode/json-server.git
synced 2025-07-30 13:42:11 +08:00
Add --middlewares option (#343)
* Add --middlewares option * Support multiple middlewares files
This commit is contained in:
@ -28,6 +28,10 @@ module.exports = function () {
|
||||
alias: 'r',
|
||||
description: 'Path to routes file'
|
||||
},
|
||||
middlewares: {
|
||||
alias: 'm',
|
||||
description: 'Path to middlewares file'
|
||||
},
|
||||
static: {
|
||||
alias: 's',
|
||||
description: 'Set static files directory'
|
||||
|
@ -34,7 +34,7 @@ function prettyPrint (argv, object, rules) {
|
||||
console.log()
|
||||
}
|
||||
|
||||
function createApp (source, object, routes, argv) {
|
||||
function createApp (source, object, routes, middlewares, argv) {
|
||||
var app = jsonServer.create()
|
||||
|
||||
var router = jsonServer.router(
|
||||
@ -62,6 +62,10 @@ function createApp (source, object, routes, argv) {
|
||||
app.use(rewriter)
|
||||
}
|
||||
|
||||
if (middlewares) {
|
||||
app.use(middlewares)
|
||||
}
|
||||
|
||||
if (argv.delay) {
|
||||
app.use(pause(argv.delay))
|
||||
}
|
||||
@ -105,10 +109,19 @@ module.exports = function (argv) {
|
||||
var routes = JSON.parse(fs.readFileSync(argv.routes))
|
||||
}
|
||||
|
||||
// Load middlewares
|
||||
if (argv.middlewares) {
|
||||
if (!Array.isArray(argv.middlewares)) {
|
||||
argv.middlewares = [argv.middlewares]
|
||||
}
|
||||
console.log(chalk.gray(' Loading', argv.middlewares))
|
||||
var middlewares = argv.middlewares.map(function (m) { return require(path.resolve(m)) })
|
||||
}
|
||||
|
||||
console.log(chalk.gray(' Done'))
|
||||
|
||||
// Create app and server
|
||||
app = createApp(source, data, routes, argv)
|
||||
app = createApp(source, data, routes, middlewares, argv)
|
||||
server = app.listen(argv.port, argv.host)
|
||||
|
||||
// Enhance with a destroy function
|
||||
|
Reference in New Issue
Block a user