-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
75 lines (63 loc) · 1.99 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// import path from 'path';
import debug from 'debug'
import Koa from 'koa'
import middlewares from './middleware'
// import router from './router'
// import mount from 'koa-mount';
// import graphQLHTTP from 'koa-graphql';
// import convert from 'koa-convert';
import serve from 'koa-static'
import config from './config'
const _debug = debug('server:server')
// import * as middleware from './middleware';
// import schema from './graphql';
// import publish from './publish';
/**
* ------------------------------------------
* mongodb
* ------------------------------------------
*/
// import './mongoose'
// global.db = mongoose.createConnection('mongodb://localhost/koa-server')
/**
* ------------------------------------------
* Koa
* ------------------------------------------
*/
const app = new Koa()
app.use(middlewares)
app.use(async (ctx, next) => {
const { response, request } = ctx
response.append('Access-Control-Allow-Origin', request.origin)
response.append('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With')
response.append('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS,TRACE')
response.append('Access-Control-Allow-Credentials', true)
if (request.method.toLocaleLowerCase() === 'options') {
ctx.status = 200
} else {
await next()
}
})
app.use(serve(config.dir_public))
app.use(require('./router').routes())
// koa graphql
// app.use(mount('/graphql', convert(graphQLHTTP({ schema, pretty: true }))));
// Publish service
// app.use(mount('/publish', publish));
// if (config.globals.__DEV__) {
// koa static
// app.use(staticServer);
//
// const devMiddleware = require('./middleware/webpack-middleware').devMiddleware;
// const hotMiddleware = require('./middleware/webpack-middleware').hotMiddleware;
//
// app.use(devMiddleware);
// app.use(hotMiddleware);
// }
// server render
// app.use(middleware.serverRender);
//
const PORT = config.server_port
app.listen(PORT, () => {
_debug(`Server is running, port: ${PORT}`)
})