-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathserver.js
More file actions
60 lines (51 loc) · 1.55 KB
/
server.js
File metadata and controls
60 lines (51 loc) · 1.55 KB
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
'use strict';
// Get process environment or set default environment to development
const ENV = process.env.NODE_ENV || 'development';
const http = require('http');
const express = require('express');
const config = require('./config');
const app = express();
const logger = require('./config/winston').init(app);
var server;
/**
* Set express (app) variables
*/
app.set('config', config);
app.set('root', __dirname);
app.set('env', ENV);
require('./config/mongoose').init(app);
require('./config/models').init(app);
require('./config/passport').init(app);
require('./config/express').init(app);
require('./config/routes').init(app);
app.get('/api/status', (req, res, next) => {
res.json({ message: 'API is running.' });
});
app.use((err, req, res, next) => {
logger.error(err);
res.status(err.statusCode || 500).json(err);
});
/**
* Start the app if not loaded by another module
*/
if (!module.parent) {
server = http.createServer(app);
server.listen(config.port || 3000, config.hostname, () => {
let addr = server.address();
// console.info('---');
// console.info('%s is running.', config.app.name);
// console.info('Hostname: %s', addr.address);
// console.info('Port: %s', addr.port);
// console.info('Environment: %s', ENV.toLowerCase());
// console.info('Access: %s', config.baseUrl);
//console.info('---');
logger.info('Server is running', {
app: config.app.name,
hostname: addr.address,
port: addr.port,
environment: ENV.toLowerCase(),
url: config.baseUrl
});
});
}
module.exports = app;