diff --git a/README.md b/README.md index 9abd9fc..44015f3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # 4im_node +Repozitář pro práci s NodeJS ve 4.ročníku web pro školní rok 2024/2025 + +### příkazy +- `npm init` - vytvoření package.json +- `npm -v` - zjištění NPM verze +- `node .js` - zapnutí NodeJS skriptu (nejčastěji naše webservery) [ název souboru nejčastěji *index.js*] \ No newline at end of file diff --git a/webserver_v2/index.js b/webserver_v2/index.js new file mode 100644 index 0000000..2809040 --- /dev/null +++ b/webserver_v2/index.js @@ -0,0 +1,51 @@ +//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) => { + if (req.url == "/youtube") { + //HTTP status code 302 + res.writeHead(302, {"Location":"https://www.youtube.com"}); + res.end(); + } + else if (err){ + //když soubour není + res.writeHead(404, {"Content-type":"text/html"}) + res.end("

404

") + } else { + //když soubor je + // res.writeHead(200, {"Content-type" : "text/html"}) + // res.end(data); + + //přečti menu pro stranku a vlož do 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("

500 - Internal Server Error

") + } else { + //vlož menu do data stránky + data = data.replace(``, + ``); + + //vlož data + res.writeHead(200, {"Content-type" : "text/html"}) + res.end(data); + } + }) + + + } + }) +}) + +const PORT = 3000; +// na české klávesnici +// ` ->Pravý ALT + 7 (nad písmeny) +// $ -> pravý ALT + ů +server.listen(PORT, () => console.log(`http://localhost:${PORT} CTRL+C=STOP`)) \ No newline at end of file diff --git a/webserver_v2/menu.html b/webserver_v2/menu.html new file mode 100644 index 0000000..1c25b18 --- /dev/null +++ b/webserver_v2/menu.html @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/webserver_v2/package.json b/webserver_v2/package.json new file mode 100644 index 0000000..3baf518 --- /dev/null +++ b/webserver_v2/package.json @@ -0,0 +1,20 @@ +{ + "name": "webserver_v2", + "version": "2.0.0", + "description": "Maly web server", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [ + "StarterPack", + "Webserver", + "web", + "server", + "begginner", + "school", + "4IM" + ], + "author": "KubMakCZ", + "license": "ISC" +} diff --git a/webserver_v2/pages/about.html b/webserver_v2/pages/about.html new file mode 100644 index 0000000..098855f --- /dev/null +++ b/webserver_v2/pages/about.html @@ -0,0 +1,19 @@ + + + + + + about + + +

ABOUT

+ +
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt fugiat quae voluptas reiciendis. Numquam a aspernatur sint, velit beatae, sed ipsam maxime rerum in at deleniti, exercitationem saepe quas vitae.

+

Exercitationem tenetur mollitia ab modi ad porro blanditiis in rerum commodi maxime sequi beatae voluptates eius provident, eligendi ipsum similique iusto neque ea veniam qui odit nam? Officiis, voluptate accusamus.

+

Quod in facilis blanditiis explicabo ipsum molestiae eos accusamus, reprehenderit voluptatibus a magnam veritatis ut temporibus tempora, delectus quae exercitationem ab nihil cumque facere sed repellendus sunt natus! Porro, corporis.

+

Earum dolore mollitia repellendus eveniet ipsum amet vitae ab voluptatibus? Minima nisi architecto ipsa ducimus quas, dicta, id expedita at eos corporis magnam quae provident excepturi aspernatur hic quisquam ipsum.

+

Dolorem placeat repellat praesentium autem itaque natus nisi? Esse, sequi optio. Accusamus assumenda repudiandae minus tenetur. Obcaecati quisquam similique voluptatem mollitia a aperiam minus dolores, repellendus voluptatum? Magni, et repellat!

+ + \ No newline at end of file diff --git a/webserver_v2/pages/index.html b/webserver_v2/pages/index.html new file mode 100644 index 0000000..1ca052f --- /dev/null +++ b/webserver_v2/pages/index.html @@ -0,0 +1,14 @@ + + + + + + welcome + + +

WELCOME

+ +
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.

+ + \ No newline at end of file diff --git a/webserver_v2/pages/profily.html b/webserver_v2/pages/profily.html new file mode 100644 index 0000000..d98ff59 --- /dev/null +++ b/webserver_v2/pages/profily.html @@ -0,0 +1,19 @@ + + + + + + Profle + + +

Profily

+ +
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt fugiat quae voluptas reiciendis. Numquam a aspernatur sint, velit beatae, sed ipsam maxime rerum in at deleniti, exercitationem saepe quas vitae.

+

Exercitationem tenetur mollitia ab modi ad porro blanditiis in rerum commodi maxime sequi beatae voluptates eius provident, eligendi ipsum similique iusto neque ea veniam qui odit nam? Officiis, voluptate accusamus.

+

Quod in facilis blanditiis explicabo ipsum molestiae eos accusamus, reprehenderit voluptatibus a magnam veritatis ut temporibus tempora, delectus quae exercitationem ab nihil cumque facere sed repellendus sunt natus! Porro, corporis.

+

Earum dolore mollitia repellendus eveniet ipsum amet vitae ab voluptatibus? Minima nisi architecto ipsa ducimus quas, dicta, id expedita at eos corporis magnam quae provident excepturi aspernatur hic quisquam ipsum.

+

Dolorem placeat repellat praesentium autem itaque natus nisi? Esse, sequi optio. Accusamus assumenda repudiandae minus tenetur. Obcaecati quisquam similique voluptatem mollitia a aperiam minus dolores, repellendus voluptatum? Magni, et repellat!

+ + \ No newline at end of file