-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
52 lines (37 loc) · 1.2 KB
/
app.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
const express = require("express");
const path = require("path");
// const compression = require('compression'); // compression
const helmet = require('helmet'); // security
const handlebars = require('express-handlebars');
// const expressDebug = require('express-debug');
// const bodyParser = require('body-parser');
// launch application
let app = express();
// add security
app.use(helmet());
// add resources
const users = require('./controllers/users.js');
const auth = require('./controllers/auth.js');
// set default views directory
app.set('views', path.join(__dirname, 'views'));
// set default view engine
app.set('view engine', 'hbs');
app.engine('hbs', handlebars({
defaultLayout: 'main',
extname: '.hbs',
layoutsDir: path.resolve(__dirname, 'views/layouts')
}));
// public file directory e.g. for css files, static html pages, etcs
app.use(express.static('public'));
// Define routes.
app.get('/', function(req, res) {
res.render('pages/index', { user: req.user });
});
// Routing Items Resource
app.use('/users', users);
app.use('/auth', auth);
// Start server at Port X
let port = process.env.PORT || 8000;
app.listen(port, () => {
console.log("ready to listen at port 8000!")
});