35 lines
869 B
JavaScript
35 lines
869 B
JavaScript
const express = require('express');
|
|
const cookieParser = require('cookie-parser');
|
|
const path = require('path');
|
|
const { buildDependencies } = require('./dependencies');
|
|
|
|
function createApp(dependencies) {
|
|
const app = express();
|
|
const port = 3000;
|
|
|
|
app.set('port', port);
|
|
|
|
app.use(cookieParser());
|
|
|
|
app.use(express.json());
|
|
|
|
app.set('view engine', 'ejs');
|
|
app.set('views', path.join(__dirname, 'views'));
|
|
|
|
app.use(dependencies.middlewares.createSessionMiddleware);
|
|
|
|
app.use('/', dependencies.webRoutes);
|
|
app.use('/api', dependencies.apiRoutes);
|
|
|
|
app.use(express.static(path.join(__dirname, 'public')));
|
|
|
|
app.disable('etag'); //avoids 304 responses
|
|
|
|
return app;
|
|
}
|
|
|
|
const dependencies = buildDependencies();
|
|
const app = createApp(dependencies);
|
|
app.listen(app.get('port'), () => {
|
|
console.log(`Server started on port ${app.get('port')}`);
|
|
});
|