donal
2018-03-26 6ef0cc963d40c64fb56ba0545c05788535a45895
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
/**
 * Main application file
 */
 
'use strict';
 
// Set default node environment to development
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
 
var express = require('express');
var config = require('./config/environment');
 
 
 
// Populate DB with sample data
if(config.seedDB) { require('./config/seed'); }
 
// Setup server
var app = express();
var server = require('http').createServer(app);
require('./config/express')(app);
 
if (config.mocks && config.mocks.api) {
  //add stubs
  require('./mocks/mock-routes')(app);
} else {
  var mongoose = require('mongoose');
  // Connect to database
  mongoose.connect(config.mongo.uri, config.mongo.options);
  mongoose.connection.on('error', function(err) {
      console.error('MongoDB connection error: ' + err);
      process.exit(-1);
    }
  );
  require('./routes')(app);
}
 
// Start server
server.listen(config.port, config.ip, function () {
  console.log('Express server listening on %d, in %s mode', config.port, app.get('env'));
});
 
// Expose app
exports = module.exports = app;