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.
- 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.