-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
50 lines (40 loc) · 1.22 KB
/
server.js
File metadata and controls
50 lines (40 loc) · 1.22 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
/*jslint node: true*/
'use strict';
/* istanbul ignore else */
if (process.env.NEWRELIC_LICENSE) {
global.newrelic = require('newrelic');
}
var nconf = require('nconf'),
environment = process.env.NODE_ENV || 'development',
express = require('express'),
app = express(),
gaikan = require('gaikan');
require('colors');
// Load configuration data
nconf
.argv()
.env()
.file('local', 'config/local.json')
.file('user', 'config/' + environment + '.json')
.file('global', 'config/global.json')
.file('package', 'package.json')
.set('ENVIRONMENT', environment);
global.app = app;
global.nconf = nconf;
global.express = express;
// Set templating engine
gaikan.options.enableCache = false;
gaikan.options.enableCompression = false;
gaikan.options.directories = ['frontend/views'];
app.set('views', [process.cwd() + '/frontend/views']);
app.set('view engine', '.html');
app.engine('html', gaikan);
// Determine IP Address through proxy
app.enable('trust proxy');
// Setup routes
require('./routes');
// Start server
var server = app.listen(nconf.get('PORT'), function() {
console.log('Server running on port %d'.bold.green, server.address().port);
});
module.exports.server = server;