Browse Source

webserver2

master
Jakub Škrabánek 4 weeks ago
parent
commit
df50866249
  1. 50
      02_webserver02/app.js
  2. 8
      02_webserver02/menu.html
  3. 18
      02_webserver02/package.json
  4. 17
      02_webserver02/pages/about.html
  5. 13
      02_webserver02/pages/index.html

50
02_webserver02/app.js

@ -0,0 +1,50 @@
//načtení knihoven
const http = require("http");
const fs = require("fs");
const path = require("path");
const server = http.createServer((req,res) => {
//přečti URL
const filePath = req.url === "/" ? "pages/index.html" : `pages${req.url}.html`
//načti hledaný soubor
fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data) => {
//odkazy s přesměrováním
if (req.url == "/youtube"){
res.writeHead(302, {"Location":"https://www.youtube.com"});
res.end();
}
else if (req.url == "/git"){
res.writeHead(302, {"Location":"https://git.asgard.odbornaskola.cz"});
res.end();
}
else if (err) {
//error handling
res.writeHead(404, {"Content-type":"text/html"});
res.end("<h1> 404 - Page not found </h1>");
} else {
//když soubor je
// res.writeHead(200, {"Content-type":"text/html"});
// res.end(data);
fs.readFile(path.join(__dirname,"menu.html"), "utf-8", (err,menuContent) =>{
if(err) {
//když server nenalezne menu.html
res.writeHead(500, {"Content-type":"text/html"});
res.end("<h1> 500 - Internal Server Error </h1>")
} else {
//vlož menu pro stránku do DATA stránky
data = data.replace(`<div id="menu-con"></div>`,
`<div id="menu-con">${menuContent}</div>`);
//odešli upravené data
res.writeHead(200, {"Content-type":"text/html"});
res.end(data);
}
})
}
})
});
// na české klávesnící
// ` -> AltGR + ý
// $ -> AltGR + ů
const PORT = 3000;
server.listen(PORT, ()=>console.log(`http://localhost:${PORT} Ctrl+c=STOP`))

8
02_webserver02/menu.html

@ -0,0 +1,8 @@
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/youtube">YouTube</a></li>
<li><a href="/git">Školní GIT server</a></li>
</ul>

18
02_webserver02/package.json

@ -0,0 +1,18 @@
{
"name": "webserver_v2",
"version": "2.0.0",
"description": "maly web server¨",
"main": "app.js",
"scripts": {
"test": "node app.js "
},
"keywords": [
"StarterPack",
"webserver",
"web",
"wtl",
"maturita"
],
"author": "KubMak",
"license": "ISC"
}

17
02_webserver02/pages/about.html

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>About</title>
</head>
<body>
<h1>About</h1>
<div id="menu-con"></div>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Tenetur dolore pariatur obcaecati consectetur incidunt doloribus ipsa aliquam a quasi eveniet iusto autem, nihil distinctio at facere, aspernatur ratione non corrupti?</p>
<p>Sit nesciunt deserunt sapiente eligendi tempora facilis, corporis aut delectus minus amet qui perspiciatis quisquam aliquam eaque architecto, tenetur dolorem consequatur hic impedit vel quas. Adipisci, odit nam. Autem, aspernatur!</p>
<p>Ipsam reprehenderit iste eius aliquid ullam id similique. Nesciunt mollitia repellendus quaerat, dolor eius accusamus rem vel ipsa iste reprehenderit facilis blanditiis dolorem doloremque. Vel odit pariatur quae aspernatur modi.</p>
<p>Sint delectus assumenda voluptatem quidem officia hic, odio ea esse nostrum sunt, illo totam ipsa. Laborum dicta quasi molestiae quidem enim perspiciatis consequatur doloremque deleniti, possimus commodi, magni quod. Illum.</p>
<p>Minima, ipsam! Quibusdam, nisi ipsum dicta cum amet assumenda. Dolore amet consequuntur suscipit aut soluta quibusdam accusantium sunt sit cum tempora sed cumque blanditiis laborum, cupiditate omnis dolorum iste doloribus!</p>
</body>
</html>

13
02_webserver02/pages/index.html

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index</title>
</head>
<body>
<h1>Hlavní stránka</h1>
<div id="menu-con"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium harum quo nisi laborum? Consequatur accusamus a pariatur tempore, dolor inventore aperiam praesentium molestias minus, ducimus harum quibusdam, recusandae veniam neque.</p>
</body>
</html>
Loading…
Cancel
Save