{"id":67,"date":"2016-04-17T10:36:09","date_gmt":"2016-04-17T08:36:09","guid":{"rendered":"http:\/\/localhost:8888\/wordpress\/?p=67"},"modified":"2016-06-20T12:51:08","modified_gmt":"2016-06-20T10:51:08","slug":"node-js-tutustumista","status":"publish","type":"post","link":"https:\/\/www.pilvikoodari.net\/?p=67","title":{"rendered":"Node.js tutustumista"},"content":{"rendered":"<p>T\u00e4ss\u00e4 postauksessa esitell\u00e4\u00e4n ja kokeillaan muutamia juttuja, mit\u00e4 tyypillisesti tulee vastaan Noden kanssa ensimm\u00e4isen\u00e4. Node.js-tutoriaaleja l\u00f6ytyy verkosta, joten en t\u00e4ss\u00e4 ala k\u00e4ym\u00e4\u00e4n l\u00e4pi kaikkia Node.js ominaisuuksia j\u00e4rjestyksess\u00e4.<\/p>\n<p><strong>npm<\/strong><\/p>\n<p>Noden mukana tulee pakkausten hallintaan ty\u00f6kalu, <strong>npm<\/strong> eli <em>Node.js Package Manager<\/em>. Sill\u00e4 voidaan ladata Node.js pakkauksia paikalliselle koneelle verkosta sek\u00e4 hallita pakkauksien riippuvuuksia. npm toimii suoraan komentorivilt\u00e4. T\u00e4ss\u00e4 esimerkiksi ladataan paikalliselle koneelle verkosta <em>express<\/em> -niminen pakkaus:<\/p>\n<p><span class=\"lang:ms-dos decode:true crayon-inline \">npm install express<\/span><\/p>\n<p>Pakkaus ladataan hekemistoon <em>node_modules<\/em>. Kun pakkaus on ladattu k\u00e4ytett\u00e4v\u00e4ksi, sen voi &#8221;importoida&#8221; eli ottaa k\u00e4ytt\u00f6\u00f6n omaan sovellukseen Javascript -ohjelmakoodissa seuraavasti:<\/p>\n<p><span class=\"lang:javascript decode:true crayon-inline\"><br \/>\nvar express = require(&#8217;express&#8217;);<br \/>\n<\/span><\/p>\n<p>Paikallisten pakkausten listaus:<\/p>\n<p><span class=\"lang:ms-dos decode:true crayon-inline \"><br \/>\nnpm ls<br \/>\n<\/span><\/p>\n<p>Pakkauksen poisto:<\/p>\n<p><span class=\"lang:javascript decode:true crayon-inline \"><br \/>\nnpm uninstall express<br \/>\n<\/span><\/p>\n<p><strong>Ensimm\u00e4inen Web-sovellus Nodella<br \/>\n<\/strong><\/p>\n<p>Node.js -sovellus on yleens\u00e4 Web-sovellus, joka vastaa HTTP-pyynt\u00f6ihin. T\u00e4llaisen palvelinsovelluksen toteuttaminen on Nodella eritt\u00e4in helppoa, koska Nodessa itsess\u00e4\u00e4n tulee mukana HTTP-palvelimen toteuttava ohjelmakoodi. Seuraavassa koodissa laitetaan pystyyn HTTP-palvelin, joka vastaa portissa 8080:<\/p>\n<pre title=\"server.js\" class=\"lang:js decode:true \">var http = require(\"http\");\r\nhttp.createServer(function(request, response) {\r\n    response.writeHead(200, {\"Content-Type\": \"text\/plain\"});\r\n    response.write(\"Response from Node.js!\");\r\n    response.end();\r\n}).listen(8080);\r\n<\/pre>\n<p>K\u00e4ynnistet\u00e4\u00e4n sovellus ajamalla tiedosto server.js:<\/p>\n<p><span class=\"lang:ms-dos decode:true crayon-inline \"><br \/>\nnode server.js<br \/>\n<\/span><\/p>\n<p>Palvelinsovellus j\u00e4\u00e4 k\u00e4yntiin ja seuraavaksi voidaan menn\u00e4 selaimella osoitteeseen http:\/\/localhost:8080<\/p>\n<p><a href=\"https:\/\/www.pilvikoodari.net\/wp-content\/uploads\/2016\/04\/server_started.jpg\" rel=\"attachment wp-att-124\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-124\" src=\"https:\/\/www.pilvikoodari.net\/wp-content\/uploads\/2016\/04\/server_started.jpg\" alt=\"server_started\" width=\"500\" height=\"298\" srcset=\"https:\/\/www.pilvikoodari.net\/wp-content\/uploads\/2016\/04\/server_started.jpg 825w, https:\/\/www.pilvikoodari.net\/wp-content\/uploads\/2016\/04\/server_started-300x179.jpg 300w, https:\/\/www.pilvikoodari.net\/wp-content\/uploads\/2016\/04\/server_started-768x457.jpg 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><strong>Linkkej\u00e4 aloittelijalle<\/strong><\/p>\n<p>Tutoriaali, joka esittelee perusjuttuja Nodesta:<\/p>\n<p><a href=\"http:\/\/www.tutorialspoint.com\/nodejs\">http:\/\/www.tutorialspoint.com\/nodejs<\/a><\/p>\n<p>Yhdeks\u00e4ll\u00e4 dollarilla &#8221;kirja&#8221;, joka auttaa alkuun Noden kanssa esimerkkiohjelman muodossa:<\/p>\n<p><a href=\"http:\/\/www.nodebeginner.org\/\">http:\/\/www.nodebeginner.org\/<\/a><\/p>\n<p>Node.js peruskonsepteja k\u00e4sittelev\u00e4 kirjoitus:<br \/>\n<a href=\"https:\/\/www.toptal.com\/nodejs\/why-the-hell-would-i-use-node-js\">https:\/\/www.toptal.com\/nodejs\/why-the-hell-would-i-use-node-js<\/a><\/p>\n<p>Tutoriaali:<\/p>\n<p><a href=\"https:\/\/blog.risingstack.com\/node-hero-tutorial-getting-started-with-node-js\/\" target=\"_blank\">https:\/\/blog.risingstack.com\/node-hero-tutorial-getting-started-with-node-js\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 postauksessa esitell\u00e4\u00e4n ja kokeillaan muutamia juttuja, mit\u00e4 tyypillisesti tulee vastaan Noden kanssa ensimm\u00e4isen\u00e4. Node.js-tutoriaaleja l\u00f6ytyy verkosta, joten en t\u00e4ss\u00e4 ala k\u00e4ym\u00e4\u00e4n l\u00e4pi kaikkia Node.js ominaisuuksia j\u00e4rjestyksess\u00e4. npm Noden mukana tulee pakkausten hallintaan ty\u00f6kalu, npm eli Node.js Package Manager. Sill\u00e4 voidaan ladata Node.js pakkauksia paikalliselle koneelle verkosta sek\u00e4 hallita pakkauksien riippuvuuksia. npm toimii suoraan komentorivilt\u00e4. &#8230; <a title=\"Node.js tutustumista\" class=\"read-more\" href=\"https:\/\/www.pilvikoodari.net\/?p=67\" aria-label=\"Lue lis\u00e4\u00e4 aiheesta Node.js tutustumista\">Lue lis\u00e4\u00e4<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-node-js"],"_links":{"self":[{"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/posts\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=67"}],"version-history":[{"count":58,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions\/216"}],"wp:attachment":[{"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pilvikoodari.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}