33 lines
826 B
JavaScript
33 lines
826 B
JavaScript
const express = require('express');
|
|
const path = require('path');
|
|
const Raven = require('raven');
|
|
const config = require('../config');
|
|
const routes = require('../routes');
|
|
const pages = require('../routes/pages');
|
|
const expressWs = require('express-ws');
|
|
|
|
if (config.sentry_dsn) {
|
|
Raven.config(config.sentry_dsn).install();
|
|
}
|
|
|
|
const app = express();
|
|
|
|
expressWs(app, null, { perMessageDeflate: false });
|
|
app.ws('/api/ws', require('../routes/ws'));
|
|
routes(app);
|
|
|
|
app.use(
|
|
express.static(path.resolve(__dirname, '../../dist/'), {
|
|
setHeaders: function(res, path) {
|
|
if (!/serviceWorker\.js$/.test(path)) {
|
|
res.set('Cache-Control', 'public, max-age=31536000, immutable');
|
|
}
|
|
res.removeHeader('Pragma');
|
|
}
|
|
})
|
|
);
|
|
|
|
app.use(pages.notfound);
|
|
|
|
app.listen(config.listen_port, config.listen_address);
|