-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
40 lines (28 loc) · 1.14 KB
/
index.js
File metadata and controls
40 lines (28 loc) · 1.14 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
'use strict';
const compression = require('compression');
const express = require('express');
const morgan = require('morgan');
const morganFormat = '(STATUS~:status) ":method :url HTTP/:http-version" (REM_ADDR~:remote-addr) (RES_TIME~:response-time[3]) (REM_USER~:remote-user) (RES_CON_LENGTH~:res[content-length]) (REFERRER~:referrer) (USER_AGENT~:user-agent)';
//Start Express App
const app = express();
//Default ENV: production
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
const port = process.env.PORT || 8080;
//Logging
app.use(morgan(morganFormat));
//Compression
app.use(compression({
filter: function () { return true; }
}));
//Serve static assets
app.use(express.static(__dirname + '/dist'));
//Serve static node_modules
app.use('/node_modules', express.static(__dirname + '/node_modules'));
//Serve index for all other requests
function sendIndex(req, res, next) {
console.log('(NODE_ENV~' + process.env.NODE_ENV.toUpperCase() + ') : ' + JSON.stringify(req.headers));
res.sendFile('index.html', { root: __dirname + "/dist/" });
}
app.all('*', sendIndex);
console.log(`NAB running on port ${port}`);
app.listen(port);