5 changed files with 106 additions and 0 deletions
@ -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`)) |
@ -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> |
@ -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" |
|||
} |
@ -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> |
@ -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…
Reference in new issue