-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathserver.js
53 lines (44 loc) · 1.54 KB
/
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
var express = require('express');
var browserSync = require('browser-sync');
var morgan = require('morgan');
var bodyParser = require('body-parser');
var serveStatic = require('serve-static');
var path = require('path');
// web app middleware
var app = express();
// console logger for server
app.use(morgan('short'));
// for serving json api (stub included below)
app.use(bodyParser.urlencoded({
extended : true
}));
app.use(bodyParser.json());
// all the back end server routing and controller things
app.use(require('./serv/routes'));
// bootstrap public/index.html
app.use(serveStatic(__dirname + '/public'));
// handle every other route with index.html, which will contain
// a script tag to your application's JavaScript file(s).
app.get('*', function(req, res) {
res.sendFile(path.resolve(__dirname, 'public', 'index.html'));
});
var url = process.env.IP || '0.0.0.0';
var port = 3000;
app.set('port', process.env.PORT || port);
function listening () {
browserSync({
proxy: 'localhost:' + port,
files: ['public/**/*.{js,css}']
});
console.log('BrowserSync server listening url %s on port %s in %s mode', url, server
.address().port, process.env.NODE_ENV);
}
if (process.env.NODE_ENV === 'development') {
var server = app.listen(app.get('port'), listening);
}
if (process.env.NODE_ENV === 'production') {
var server = app.listen(app.get('port'), url, function() {
console.log('Static server listening url %s on port %s in %s mode', url, server
.address().port, process.env.NODE_ENV);
});
}