commit | author | age
|
6ef0cc
|
1 |
/** |
D |
2 |
* Main application file |
|
3 |
*/ |
|
4 |
|
|
5 |
'use strict'; |
|
6 |
|
|
7 |
// Set default node environment to development |
|
8 |
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; |
|
9 |
|
c382ab
|
10 |
const express = require('express'); |
D |
11 |
const config = require('./config/environment'); |
6ef0cc
|
12 |
|
D |
13 |
|
|
14 |
|
|
15 |
// Populate DB with sample data |
|
16 |
if(config.seedDB) { require('./config/seed'); } |
|
17 |
|
|
18 |
// Setup server |
c382ab
|
19 |
const app = express(); |
D |
20 |
const server = require('http').createServer(app); |
6ef0cc
|
21 |
require('./config/express')(app); |
D |
22 |
|
|
23 |
if (config.mocks && config.mocks.api) { |
6a748c
|
24 |
//add stubs if needed |
6ef0cc
|
25 |
require('./mocks/mock-routes')(app); |
D |
26 |
} else { |
c382ab
|
27 |
const mongoose = require('mongoose'); |
6ef0cc
|
28 |
// Connect to database |
D |
29 |
mongoose.connect(config.mongo.uri, config.mongo.options); |
|
30 |
mongoose.connection.on('error', function(err) { |
|
31 |
console.error('MongoDB connection error: ' + err); |
|
32 |
process.exit(-1); |
|
33 |
} |
|
34 |
); |
|
35 |
require('./routes')(app); |
|
36 |
} |
|
37 |
|
|
38 |
// Start server |
|
39 |
server.listen(config.port, config.ip, function () { |
|
40 |
console.log('Express server listening on %d, in %s mode', config.port, app.get('env')); |
|
41 |
}); |
|
42 |
|
|
43 |
// Expose app |
|
44 |
exports = module.exports = app; |