-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
39 lines (34 loc) · 939 Bytes
/
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
/*eslint-disable no-var*/
'use strict';
var express = require('express');
var path = require('path');
var app = express();
var isProduction = process.env.NODE_ENV === 'production';
var port = isProduction ? 8080 : 3000;
var publicPath = (
isProduction ?
path.resolve(__dirname, './dist') :
path.resolve(__dirname, './build')
);
app.use(express.static(publicPath));
// Use dev server if we are not in production.
if (!isProduction) {
var httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({
changeOrigin: true
});
var bundle = require('./dev-bundler.js');
bundle();
app.all('/*', function(req, res) {
proxy.web(req, res, {
target: 'http://localhost:8080'
});
});
proxy.on('error', function() {
console.log('Could not connect to proxy, please try again...');
});
}
// Run the server
app.listen(port, function() {
console.log('Server running on port ' + port);
});