5 changed files with 146 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||
|
//načtení knihoven
|
||||
|
const http = require("http") |
||||
|
const fs = require("fs") |
||||
|
const path = require("path") |
||||
|
|
||||
|
const server = http.createServer((req,res) => { |
||||
|
//nalzeni soubor za pomocí "zjednodušeného linku"
|
||||
|
const filePath = req.url === "/" ? "pages/index.html":`pages${req.url}.html`//AltGr+ý
|
||||
|
//načti soubor z odkazu
|
||||
|
fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data)=>{ |
||||
|
//nejdříve zjistíme jetli chceme náš soubor nebo přesměrování
|
||||
|
//přesměrování je dřív z důvodu ušetření načítaní dat z HTML
|
||||
|
// if(req.url == "/presmerovani") {
|
||||
|
// res.writeHead(302,{"Location":"https://<odkaz>"})
|
||||
|
// res.end()
|
||||
|
// }
|
||||
|
if(req.url == "/git") { |
||||
|
res.writeHead(302,{"Location":"https://git.asgard.odbornaskola.cz"}) |
||||
|
res.end() |
||||
|
} else if(req.url == "/youtube") { |
||||
|
res.writeHead(302,{"Location":"https://www.youtube.com/watch?v=iik25wqIuFo"}) |
||||
|
res.end() |
||||
|
} else if (err) { |
||||
|
//ERROR HANDLING
|
||||
|
res.writeHead(404, {"content-type":"text/html"}) |
||||
|
res.end("<h1> 4☺4 - Page NOT Found </h1>") |
||||
|
} else { |
||||
|
//KDYŽ UŽ VÍME ŽE CHCEME SOUBOR
|
||||
|
//aneb zapneme část kodu na zpracování
|
||||
|
//jakéhokoliv html v složce pages
|
||||
|
|
||||
|
//"čistné čtení"
|
||||
|
// res.writeHead(200,{"content-type":"text/html; charset=utf-8"})
|
||||
|
// res.end(data)
|
||||
|
|
||||
|
fs.readFile(path.join(__dirname,"menu.html"),"utf-8",(err,menuContent)=>{ |
||||
|
if(err){ |
||||
|
res.writeHead(500,{"Content-type":"text/html"}); |
||||
|
res.end("<h1> 500 - Internal Server Error </h1>"); |
||||
|
} else { |
||||
|
//vlož menu proi stránku do DATA stránky
|
||||
|
data = data.replace(`<div id="menu-component"></div>`, |
||||
|
`<div id="menu-component">${menuContent}</div>`); |
||||
|
//odešli upravené data společně s menu
|
||||
|
res.writeHead(200,{"content-type":"text/html"}); |
||||
|
res.end(data); |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
|
||||
|
const PORT = 3000 |
||||
|
server.listen(PORT,()=>console.log(`http://localhost:${PORT} Ctrl+C=STOP`)) |
||||
@ -0,0 +1,8 @@ |
|||||
|
<div class="menu"> |
||||
|
<ul> |
||||
|
<li><a href="/">HOME</a></li> |
||||
|
<li><a href="/about">About</a></li> |
||||
|
<li><a href="/git">GIT SERVER</a></li> |
||||
|
<li><a href="/youtube">YouTube suprise</a></li> |
||||
|
</ul> |
||||
|
</div> |
||||
@ -0,0 +1,19 @@ |
|||||
|
{ |
||||
|
"name": "webserver_v2", |
||||
|
"version": "2.0.0", |
||||
|
"description": "maly web server", |
||||
|
"keywords": [ |
||||
|
"StarterPack", |
||||
|
"webserver", |
||||
|
"web", |
||||
|
"wtl", |
||||
|
"maturita" |
||||
|
], |
||||
|
"license": "ISC", |
||||
|
"author": "skrabanek", |
||||
|
"type": "commonjs", |
||||
|
"main": "app.js", |
||||
|
"scripts": { |
||||
|
"test": "node app.js" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,49 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>Document</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>ABOUT PAGE</h1> |
||||
|
<div id="menu-component"></div> |
||||
|
<!-- p*6>u>(lorem+br)*2+hr --> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Mollitia iure, qui earum nemo quae id quisquam culpa rerum sint est ab quaerat distinctio animi perspiciatis unde doloremque adipisci harum aspernatur.</span><br><span>Sapiente quisquam esse cum eaque voluptate, laboriosam numquam voluptatem dolorum totam laborum quia ut deleniti magni maxime amet distinctio dignissimos quos corrupti nemo ipsa doloribus fugit aperiam ratione! Beatae, harum.</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita tempore id eius veritatis illum! Non dolorem quidem aut in totam necessitatibus, natus quam consectetur molestias, odio, officia architecto nisi porro!</span><br><span>Animi est in adipisci ullam nesciunt praesentium ratione maxime quam deleniti dolores magnam non impedit dolorem deserunt magni numquam maiores quos corrupti nihil ipsum, id, iste rerum sequi cum. Aspernatur!</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita voluptatibus dignissimos magnam eius numquam architecto doloribus nisi, earum inventore, blanditiis beatae commodi doloremque deserunt repudiandae dolorem voluptate sapiente libero minima.</span><br><span>Optio maxime inventore ab est, quasi quod commodi sapiente. Architecto dignissimos veniam eum, molestias quo placeat aut, quaerat, quisquam culpa reprehenderit quod! Error ea quaerat laborum ratione, laboriosam at ipsa!</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores nihil repellat provident expedita nemo! Ex rem sapiente molestias deleniti corrupti, necessitatibus sunt odit nesciunt odio, quo voluptates, aliquam fugit amet!</span><br><span>Iusto blanditiis saepe dicta eaque corrupti qui, nisi eveniet. Eius excepturi aperiam velit, illum, consequatur tempore nihil eveniet veniam omnis enim odio repellat, perspiciatis quibusdam nobis ratione maxime accusamus cumque.</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Voluptatem hic autem corporis, non reiciendis deserunt incidunt velit a odit, recusandae voluptas omnis mollitia ad magnam est quam molestias quisquam tempore.</span><br><span>Sapiente pariatur, incidunt perferendis ad, aspernatur adipisci quos illo quas suscipit corrupti quod soluta. Obcaecati repellat eligendi maxime magnam accusantium molestiae ipsam tempora veniam in fugiat, repudiandae voluptates iure magni?</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
<p> |
||||
|
<u> |
||||
|
<span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Fugiat quae totam corporis ipsa natus quaerat odit veritatis deleniti facere illum tenetur, quas dolore provident facilis velit assumenda blanditiis voluptatum ducimus?</span><br><span>Omnis iste culpa expedita ipsa blanditiis repellat ducimus hic enim totam? Eius atque a necessitatibus sed possimus, dolores accusamus optio consequuntur nihil omnis! Neque laboriosam perspiciatis repellendus ratione? Voluptatibus, quos.</span><br> |
||||
|
<hr> |
||||
|
</u> |
||||
|
</p> |
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,16 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>Document</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Test malýho webserveru</h1> |
||||
|
<div id="menu-component"></div> |
||||
|
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus facilis quisquam vero inventore eos iste et quo pariatur ipsa reiciendis, quod molestias similique iure dignissimos nihil cupiditate consectetur omnis! Dolorum?</p> |
||||
|
<p>Aperiam beatae vitae esse corporis culpa nemo doloremque at vel quia deserunt veniam, alias provident molestias voluptas quibusdam voluptatem eos consequatur nesciunt reiciendis hic enim recusandae. Assumenda in et voluptas!</p> |
||||
|
<p>Iusto, perspiciatis illum? Doloremque, nostrum quis vero dicta iste veritatis impedit repellendus consequatur quas ipsa tempore placeat iure neque vel facere quae? Nulla officia esse amet voluptatum deleniti fugit exercitationem?</p> |
||||
|
<p>Saepe facilis quaerat suscipit, voluptatem laboriosam nemo hic modi aliquam quidem unde natus veniam aspernatur asperiores sapiente eaque, blanditiis harum quam, autem eius perspiciatis architecto rerum? Ratione eius nihil veniam?</p> |
||||
|
</body> |
||||
|
</html> |
||||
Loading…
Reference in new issue