Weboldal keresés

Az első Node.js alkalmazás megírása Linuxon


A webfejlesztési trendek drasztikusan megváltoztak az elmúlt néhány évben, és webfejlesztőként fontos, hogy naprakész legyen a legújabb technológiákkal.

A JavaScript a jelenleg felkapott programozási nyelv; kétségtelenül ez a legnépszerűbb technológia, amelyet a full stack fejlesztők használnak.

A JavaScript webes keretrendszerek varázslatos megoldásokká váltak a gyorsabb webfejlesztéshez abszolút hatékonysággal, biztonsággal és minimális költségekkel. Biztos vagyok benne, hogy hallott már a Node JavaScript-ről (általánosan Node.jsként vagy egyszerűen csak Nodeként emlegetik), sok a híradás róla. az interneten.

Ebben a cikkben megmutatom, hogyan kezdje meg az alkalmazások fejlesztését JavaScript-ben a Node.js használatával Linuxon. Először azonban tekintsünk meg egy rövid bevezetőt a Node.js-hez.

Mi az a Node.js?

A Node.js egy nyílt forráskódú, könnyű és hatékony JavaScript futtatókörnyezet, amely a Chrome V8 JavaScript motorjára épül. Szálak nélkül készült (egyszálú), és hasonló megvalósítása van, mint a Twisted, a Python vagy az Event Machine felhasználásával épített hálózati motor, amely Ruby programok eseményfeldolgozó könyvtára.

A Node.js lényege az eseményvezérelt programozáson alapul; a programozónak ezért meg kell értenie, hogy milyen események állnak rendelkezésre, és hogyan reagáljon rájuk.

Csomagkezelés a Node.js alatt

A Node.js a JavaScript csomagkezelőt és az „npm ” nevű ökoszisztémát használja, amely ingyenes nyílt forráskódú könyvtárak hatalmas gyűjteményét tartalmazza. Támogatja a moduláris szoftverfejlesztést. Használhatja csomóponti csomagok telepítésére, megosztására, kód terjesztésére és csomagfüggőségek kezelésére.

Miért fontos a Node.js?

A Node.js a következő okok miatt hatékony, ezért fontos:

  • Aszinkron eseményvezérelt, nem blokkoló I/O végrehajtási modellt használ, amely javítja az alkalmazás átviteli sebességét, és támogatja a méretezhetőséget a valós webalkalmazások számára.
  • Egyszálú, így egyszerre csak 1 CPU-t tud használni.
  • A node.js webalkalmazás egy teljes webszerver, például Nginx vagy Apache.
  • Támogatja a szálakat a child_process.fork() API-n keresztül az alárendelt folyamatok létrehozásához, és fürtmodult is kínál.

Ezzel a rövid bevezetéssel készen kell állnia arra, hogy megírja első JavaScript programját. Először azonban telepítenie kell a Node.js és az NPM csomagokat Linux rendszerére a következő útmutató szerint.

  1. Telepítse a legújabb Nodejs és NPM verziót a Linux rendszerekben

Az első Node.js alkalmazás létrehozása Linuxon

Miután telepítette a Node.js fájlt, készen áll a használatra. Először is hozzon létre egy könyvtárat, amely tárolja az alkalmazás fájljait.

sudo mkdir -p /var/www/myapp

Ezután lépjen be ebbe a könyvtárba, és hozzon létre egy package.json fájlt az alkalmazáshoz. Ez a fájl kis dokumentációként szolgál a projekthez: a projekt neve, szerzője, a csomagok listája, amelyektől függ és így tovább.

cd /var/www/myapp
npm init

Ez számos kérdést fog feltenni, egyszerűen válaszoljon az alábbiak szerint, majd nyomja meg az [Enter] billentyűt. Ne feledje, hogy a package.json fájl legfontosabb elemei a név és a verzió mezői, amint azt alább ismertetjük.

  • csomagnév – az alkalmazás neve, alapértelmezés szerint a könyvtár neve.
  • verzió – az alkalmazás verziója.
  • leírás – írjon rövid leírást az alkalmazásához.
  • Belépési pont – beállítja a végrehajtandó alapértelmezett csomagfájlt.
  • teszt parancs – tesztszkript létrehozására szolgál (alapértelmezés szerint üres szkript).
  • git-tárház – határozzon meg egy Git-tárat (ha van).
  • kulcsszavak – állítson be kulcsszavakat, amelyek fontosak a többi felhasználó számára, hogy azonosítsák csomagját az npm-en.
  • szerző – megadja a szerző nevét, ide írja be a nevét.
  • licenc – adjon meg licencet az alkalmazáshoz/csomaghoz.

Ezután hozzon létre egy server.js fájlt.

sudo vi server.js

Másolja ki és illessze be az alábbi kódot.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Ezután indítsa el az alkalmazást a következő paranccsal.

node server.js
OR
npm start

Ezután nyisson meg egy webböngészőt, és nyissa meg webalkalmazását, amely nem tesz mást, mint kinyomja a „Hello world! ”, a következő cím használatával:

http://localhost:3333

A fenti kódunkban a fő feldolgozás alatt álló esemény egy HTTP kérés a HTTP-modulon keresztül.

A Nodejs HTTP-modul

A Node.js-ben a modulok inkább a JavaScript-könyvtárak, olyan funkciókat tartalmaznak, amelyeket újra felhasználhat az alkalmazásban. Használhat beépített modulokat, harminc fél modult, vagy létrehozhat saját modult.

Modulok hívásához az alkalmazásban használja a követelmény függvényt az ábrán látható módon.

var http = require('http');

A http modul beépítése után létrehoz egy kiszolgálót, amely egy adott porton figyel (ebben a példában 3333). A http.creatServer metódus létrehozza a tényleges http-kiszolgálót, amely argumentumként elfogad egy függvényt (amely akkor kerül meghívásra, amikor az ügyfél megpróbál hozzáférni az alkalmazáshoz).

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

A http.createServer függvénynek két argumentuma van: req(request) és res(response). A req argumentum egy felhasználó vagy ügyfél kérése, a res argumentum pedig választ küld az ügyfélnek.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

A kód utolsó része kimenetet küld a konzolnak, amint a szerver elindul.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Útválasztás a Node.js-ben

Ebben a részben elmagyarázom a Node.js programozás egyik legfontosabb fogalmát, amely az routing néven ismert (hasonlítható a számítógépes hálózatok alatti útválasztáshoz: a forgalom útvonalának megtalálásának folyamata hálózatban).

Itt az routing az ügyfél kérésének kezelésére szolgáló technika; az ügyfél által kért tartalom kiszolgálása az URL-ben meghatározottak szerint. Az URL egy elérési útból és egy lekérdezési karakterláncból áll.

Az ügyfél kérési lekérdezési karakterláncának megtekintéséhez az alábbi sorokat hozzáadhatjuk válaszunkhoz.

res.write(req.url);
res.end()

Alább az új kód.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Mentse el a fájlt, és indítsa újra az alkalmazást a következő paranccsal.

node server.js
OR
npm start

Egy webböngészőben írjon be különböző URL-eket, amelyek az alábbiak szerint jelennek meg.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Most egy igazán kicsi weboldalt hozunk létre a Tecmint számára kezdőlappal, valamint a szerzők oldalával. Néhány információt megjelenítünk ezeken az oldalakon.

Nyissa meg a server.js fájlt szerkesztéshez, és adja hozzá az alábbi kódot.

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

A fenti kódban láthattuk, hogyan írhatunk megjegyzéseket a Node.js fájlba a // karakterek használatával, valamint bevezettük a kapcsoló- és kisbetű-utasításokat az ügyfélkérelmek továbbításához.

Mentse el a fájlt, indítsa el a szervert, és próbálja meg elérni a különböző oldalakat.

Egyelőre ennyi! További információt a Nodejs és az NPM webhelyein talál.

Olvassa el még: A PM2 telepítése a Node.js alkalmazások futtatásához Linuxon

Következtetés

A Node.js ma új csúcsra emelkedik, sokkal könnyebbé tette a full-stack fejlesztést, mint korábban. Az eseményvezérelt programozás egyedülálló filozófiája lehetővé teszi villámgyors, hatékony és méretezhető webfolyamatok és szerverek létrehozását.

Ezután a Node.js keretrendszereket ismertetjük, amelyek kiterjesztik natív képességeit a webes/mobilalkalmazások gyors és megbízható fejlesztésére. Ossza meg gondolatait erről a cikkről az alábbi megjegyzés részben.