-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.ts
66 lines (54 loc) · 1.4 KB
/
server.ts
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
import express = require('express');
import * as hbs from 'hbs';
import * as fs from 'fs';
const port = process.env.PORT || 3000;
let app = express();
hbs.registerPartials(__dirname + "/views/partials");
app.set('view engine', 'hbs');
app.use((req, res, next) => {
let now = new Date().toString();
let 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");
next();
});
app.use(express.static(__dirname + "/public"));
hbs.registerHelper("getCurrentYear", () : number => {
return new Date().getFullYear();
});
hbs.registerHelper("screamIt", (text: string) : string =>{
return text.toUpperCase();
});
app.get("/", (request, response) => {
response.render("home.hbs", {
pageTitle: "Home Page",
welcomeMessage: "Welcome to my website!"
})
});
app.get("/projects", (req, res) =>{
res.render("projects.hbs", {
pageTitle: "Portfolio"
});
});
app.get("/about", (req, res) =>{
res.render("about.hbs", {
pageTitle: "About Page"
});
});
app.get("/bad", (req, res) =>{
res.send({
errorMessage: "bad request"
});
});
app.listen(port, ()=> {
console.log(`Server is up on port ${port}`);
});