-
Notifications
You must be signed in to change notification settings - Fork 0
/
prod.server.js
90 lines (75 loc) · 1.61 KB
/
prod.server.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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
var express = require('express')
var config =require('./config/index')
var opn = require('opn')
var port = process.env.PORT || config.build.port
var autoOpenBrowser = !!config.build.autoOpenBrowser
var app = express()
var appData = require("./static/pageData.json")
var dataNews =appData.news
var dataPic =appData.pic
var dataMood =appData.mood
var dataSetting =appData.setting
var router =express.Router();
router.get('/',function(req,res,next){
req.url = '/index.html'
next()
})
app.use(router)
var apiRouters=express.Router();
apiRouters.get('/news',function(req,res){
res.json(
{
errno:0,
data:dataNews
}
)
})
apiRouters.get('/pic',function(req,res){
res.json(
{
errno:0,
data:dataPic
}
)
})
apiRouters.get('/mood',function(req,res){
res.json(
{
errno:0,
data:dataMood
}
)
})
apiRouters.get('/setting',function(req,res){
res.json(
{
errno:0,
data:dataSetting
}
)
})
app.use('/api',apiRouters)
app.use(express.static('./dist'))
var uri = 'http://localhost:' + port
var _resolve
var readyPromise = new Promise(resolve => {
_resolve = resolve
})
var server = app.listen(port,() => {
console.log('> Starting build server...')
//devMiddleware.waitUntilValid(() => {
console.log('> Listening at ' + uri + '\n')
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
//console.log('> autoOpenBrowser is '+autoOpenBrowser + '\n')
opn(uri)
}
_resolve()
//})
})
module.exports = {
ready: readyPromise,
close: () => {
server.close()
}
}