mirror of
https://github.com/typicode/json-server.git
synced 2025-07-28 04:32:24 +08:00
Fix static files
This commit is contained in:
@ -17,7 +17,9 @@
|
||||
"underscore.inflections": "~0.2.1",
|
||||
"moment": "~2.4.0",
|
||||
"low": "^0.4.2",
|
||||
"restify": "^2.6.3"
|
||||
"restify": "^2.6.3",
|
||||
"yargs": "^1.2.1",
|
||||
"ecstatic": "^0.4.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"supertest": "~0.8.1",
|
||||
|
64
src/command.js
Normal file
64
src/command.js
Normal file
@ -0,0 +1,64 @@
|
||||
var yargv = require('yargs')
|
||||
var request = require('request')
|
||||
var low = require('low')
|
||||
var server = require('./server')
|
||||
|
||||
function show() {
|
||||
for (var prop in low.db) {
|
||||
console.log(server.url + '/' + prop)
|
||||
}
|
||||
}
|
||||
|
||||
function start(port) {
|
||||
server.listen(port, function() {
|
||||
console.log('%s listening at %s', server.name, server.url);
|
||||
})
|
||||
}
|
||||
|
||||
function run() {
|
||||
var argv = yargv.usage('Usage: $0 <source>')
|
||||
.demand(1)
|
||||
.default('port', 3000)
|
||||
.argv
|
||||
|
||||
var source = argv._[0]
|
||||
|
||||
if (/\.json$/.test(source)) {
|
||||
var path = process.cwd() + '/' + source
|
||||
low.path = path
|
||||
low.db = require(path);
|
||||
show()
|
||||
start()
|
||||
}
|
||||
|
||||
if (/\.js$/.test(source)) {
|
||||
var path = process.cwd() + '/' + source
|
||||
low.db = require(path).run();
|
||||
show()
|
||||
start(argv.port)
|
||||
}
|
||||
|
||||
if (/^http/.test(source)) {
|
||||
request.get(source)
|
||||
.end(function(err, res) {
|
||||
if (err) {
|
||||
console.error(err)
|
||||
} else {
|
||||
low.db = JSON.parse(res.text)
|
||||
}
|
||||
})
|
||||
show()
|
||||
start()
|
||||
}
|
||||
|
||||
process.stdin.resume()
|
||||
process.stdin.setEncoding('utf8')
|
||||
|
||||
process.stdin.on('data', function (chunk) {
|
||||
if (chunk.trim().toLowerCase() === 's') {
|
||||
low.save('db-' + Date.now() + '.json')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
module.exports.run = run
|
@ -1,11 +1,14 @@
|
||||
var _ = require('underscore')
|
||||
var low = require('low')
|
||||
var restify = require('restify')
|
||||
var utils = require('./utils')
|
||||
var _ = require('underscore')
|
||||
var low = require('low')
|
||||
var ecstatic = require('ecstatic')
|
||||
var restify = require('restify')
|
||||
var utils = require('./utils')
|
||||
|
||||
low._.createId = utils.createId
|
||||
|
||||
var server = restify.createServer()
|
||||
var server = restify.createServer({
|
||||
name: 'JSON Server'
|
||||
})
|
||||
|
||||
server.use(restify.acceptParser(server.acceptable))
|
||||
server.use(restify.queryParser())
|
||||
@ -16,6 +19,11 @@ server.use(restify.gzipResponse())
|
||||
|
||||
routes = {}
|
||||
|
||||
server.get(/^\/$|.*(.css)/, restify.serveStatic({
|
||||
'directory': __dirname + '/../public',
|
||||
'default': 'index.html'
|
||||
}))
|
||||
|
||||
// GET /db
|
||||
routes.db = function(req, res, next) {
|
||||
res.send(low.db)
|
||||
@ -112,11 +120,6 @@ server.put('/:resource/:id', routes.update)
|
||||
server.patch('/:resource/:id', routes.update)
|
||||
server.del('/:resource/:id', routes.destroy)
|
||||
|
||||
server.get('/', restify.serveStatic({
|
||||
directory: './public',
|
||||
default: 'index.html'
|
||||
}));
|
||||
|
||||
server.on('after', function (req, res, route, err) {
|
||||
var latency = Date.now() - req.time()
|
||||
console.log('%s %s %s - %sms',
|
||||
|
Reference in New Issue
Block a user