mirror of
https://github.com/typicode/json-server.git
synced 2025-07-29 13:14:12 +08:00
Refactor
This commit is contained in:
48
src/index.js
48
src/index.js
@ -1,33 +1,43 @@
|
||||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
|
||||
// LowDB
|
||||
var low = require('lowdb')
|
||||
var _db = require('underscore-db')
|
||||
var _inflections = require('underscore.inflections')
|
||||
|
||||
low.mixin('_db')
|
||||
low.mixin('_inflections')
|
||||
var low = require('lowdb')
|
||||
low.mixin(require('underscore-db'))
|
||||
low.mixin(require('underscore.inflections'))
|
||||
|
||||
// Express
|
||||
var http = require('http')
|
||||
var express = require('express')
|
||||
var logger = require('morgan')
|
||||
var cors = require('cors')
|
||||
var http = require('http')
|
||||
var express = require('express')
|
||||
var logger = require('morgan')
|
||||
var cors = require('cors')
|
||||
var methodOverride = require('method-override')
|
||||
var bodyParser = require('body-parser')
|
||||
var serveStatic = require('serve-static')
|
||||
var errorhandler = require('errorhandler')
|
||||
var bodyParser = require('body-parser')
|
||||
var serveStatic = require('serve-static')
|
||||
var errorhandler = require('errorhandler')
|
||||
|
||||
// json-server
|
||||
var utils = require('./utils')
|
||||
var createRoutes = require('./create-routes')
|
||||
var utils = require('./utils')
|
||||
var getRoutes = require('./routes')
|
||||
|
||||
low.mixin({ createId: utils.createId })
|
||||
|
||||
module.exports = function(object, filename) {
|
||||
var server = express()
|
||||
var routes = createRoutes(object, filename)
|
||||
|
||||
// Create database
|
||||
if (filename) {
|
||||
var db = low(filename)
|
||||
} else {
|
||||
var db = low()
|
||||
db.object = object
|
||||
}
|
||||
|
||||
// Expose db
|
||||
server.db = db
|
||||
|
||||
// Get routes
|
||||
var routes = getRoutes(db)
|
||||
|
||||
// Don't use logger if json-server is mounted
|
||||
if (!module.parent) {
|
||||
@ -39,12 +49,14 @@ module.exports = function(object, filename) {
|
||||
server.use(bodyParser.urlencoded({ extended: false }))
|
||||
server.use(methodOverride())
|
||||
|
||||
// Serve static files
|
||||
if (fs.existsSync(process.cwd() + '/public')) {
|
||||
server.use(serveStatic(process.cwd() + '/public'));
|
||||
} else {
|
||||
server.use(serveStatic(__dirname + '/public'));
|
||||
}
|
||||
|
||||
// CORS
|
||||
server.use(cors({ origin: true, credentials: true }))
|
||||
|
||||
server.get('/db', routes.showDatabase)
|
||||
|
Reference in New Issue
Block a user