-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
74 lines (62 loc) · 1.92 KB
/
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const express= require('express');
const hbs=require('hbs');
const fs= require('fs');
var app=express();
//add a partial to reuse code
hbs.registerPartials(__dirname+'/views/partials');
//changing the template engine
app.set('view engine','hbs');
//Middleware allows to configurate how the app works. like a 3rd party add-on
//built-in middleware
//app.use is how you register middleware and it takes a function
app.use((req,res,next)=>{
var now=new Date().toString();
var log=(`${now}: ${req.method} ${req.url}`);
console.log(log);
fs.appendFile('server.log',log+'\n', (err)=>{
if(err){
console.log('Unable to append to server.log');
}
});
next();
});
// app.use((req,res,next)=>{
// res.render('maintenance.hbs');
// });
//IT takes the path of the folder you want to serve
app.use(express.static(__dirname+'/public'));
//Helper for using the same function in multiple places
hbs.registerHelper('getCurrentYear',()=>{
return new Date().getFullYear();
});
hbs.registerHelper('screamIt',(text)=>{
return text.toUpperCase();
});
//handler for an http request
//two arguments, request and respond
app.get('/',(req, res)=>{
// res.send('<h1>hello Express!</h1>');
res.render('home.hbs',{
pageTitle:'Marta Page',
welcomeMessage:'Welcome to Marta\'s page and profile'
});
});
app.get('/about', (req,res)=>{
//render allows you to render any view from your template
//The second argument is an object that injects data into the .hbs document
res.render('about.hbs',{
pageTitle:'About Page',
});
});
app.get('/bad', (req,res)=>{
res.send({
errorMessage: "Unable to handle request"
});
});
//App for the app to start listened. the app is binned to a port.
//It is gonna listen to request until you tell them to stop
app.listen(3000, ()=>{
console.log('Server is up on port 3000');
});
//app listen takes a second argument that allows to set a function once the server is up
//like the server is up