Jinsi ya Kuandika Programu Yako ya Kwanza ya Node.js katika Linux


Mitindo ya ukuzaji wa wavuti imebadilika sana katika miaka michache iliyopita na kama msanidi wa wavuti, ili kuwa bora zaidi katika mchezo wako, ni muhimu kusasishwa na teknolojia mpya zaidi.

JavaScript ndiyo lugha inayovuma ya programu huko nje; bila shaka ni teknolojia maarufu inayotumiwa na watengenezaji wa rafu kamili.

Mifumo ya wavuti ya JavaScript imekuwa suluhisho la kichawi kwa ukuzaji wa wavuti haraka kwa ufanisi kamili, usalama na gharama iliyopunguzwa. Nina hakika kabisa umesikia kuhusu Node JavaScript (inayojulikana kama Node.js au Node kwa urahisi), kuna gumzo juu yake kwenye Mtandao.

Katika makala hii, nitakuonyesha jinsi ya kuanza na kuendeleza programu katika JavaScript kwa kutumia Node.js katika Linux. Lakini kwanza, hebu tupate utangulizi mfupi wa Node.js.

Node.js ni nini?

Node.js ni chanzo huria, chepesi na chenye ufanisi cha kutekeleza JavaScript iliyojengwa kwenye injini ya JavaScript ya V8 ya Chrome. Imeundwa bila nyuzi (nyuzi moja) na ina utekelezaji sawa na Twisted, injini ya mtandao iliyojengwa kwa kutumia Python au Mashine ya Tukio, maktaba ya kuchakata matukio ya programu za Ruby.

Moyo wa Node.js unatokana na programu inayoendeshwa na tukio; kwa hivyo mpangaji programu anapaswa kuelewa ni matukio gani yanapatikana na jinsi ya kuyajibu.

Usimamizi wa Kifurushi Chini ya Node.js

Node.js hutumia kidhibiti kifurushi cha JavaScript na mfumo ikolojia unaoitwa \npm, ambao una mkusanyiko mkubwa wa maktaba huria huria. Inaauni kwa uundaji wa kawaida wa programu. Unaweza kuitumia kusakinisha vifurushi vya nodi, kushiriki, kusambaza misimbo yako na kudhibiti. utegemezi wa kifurushi.

Node.js ni yenye nguvu na kwa hivyo ni muhimu kwa sababu ya sababu zifuatazo:

  • Inatumia mfano wa utekelezaji wa I/O unaoendeshwa na matukio, usiozuia, ambao huboresha utumaji wa programu na kusaidia uboreshaji wa programu za wavuti katika ulimwengu halisi.
  • Ina thread moja kwa hivyo inaweza kutumia CPU 1 pekee wakati wowote.
  • Programu ya wavuti ya node.js ni seva kamili ya wavuti kwa mfano Nginx au Apache.
  • Inaauni nyuzi kupitia child_process.fork() API, kwa mchakato wa kuzaa mtoto, na pia inatoa sehemu ya nguzo.

Kwa utangulizi huu mfupi, lazima uwe na hamu ya kuandika programu yako ya kwanza ya JavaScript. Hata hivyo, mambo ya kwanza kwanza, unahitaji kusakinisha Node.js na vifurushi vya NPM kwenye mfumo wako wa Linux kwa kutumia mwongozo ufuatao.

  1. Sakinisha Nodej za Hivi Punde na Toleo la NPM katika Mifumo ya Linux

Jinsi ya Kuunda Programu Yako ya Kwanza ya Node.js katika Linux

Mara tu unaposakinisha Node.js, uko tayari kwenda. Kwanza anza kwa kuunda saraka ambayo itahifadhi faili zako za programu.

$ sudo mkdir -p /var/www/myapp

Kisha nenda kwenye saraka hiyo na uunde faili ya package.json ya programu yako. Faili hii husaidia kama hati ndogo ya mradi wako: jina la mradi, mwandishi, orodha ya vifurushi inategemea na kadhalika.

$ cd /var/www/myapp
$ npm init

Hii itakuuliza maswali kadhaa, jibu kwa urahisi kama ilivyoelezwa hapa chini, na ubonyeze [Enter]. Kumbuka kwamba vitu muhimu zaidi katika package.json ni sehemu za jina na toleo kama ilivyofafanuliwa hapa chini.

  • jina la kifurushi - jina la programu yako, chaguomsingi kwa jina la saraka.
  • toleo - toleo la programu yako.
  • maelezo - andika maelezo mafupi ya programu yako.
  • mahali pa kuingilia - huweka faili ya vifurushi chaguomsingi kutekelezwa.
  • amri ya jaribio - hutumika kuunda hati ya jaribio (chaguo-msingi kwa hati tupu).
  • hazina ya git - fafanua hazina ya Git (ikiwa unayo).
  • manenomsingi - weka maneno muhimu, muhimu kwa watumiaji wengine kutambua kifurushi chako kwenye npm.
  • mwandishi - anabainisha jina la mwandishi, weka jina lako hapa.
  • leseni - bainisha leseni ya programu/furushi yako.

Ifuatayo, unda faili ya server.js.

$ sudo vi server.js

Nakili na ubandike msimbo ulio hapa chini ndani yake.

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

Ifuatayo, anza programu yako kwa kutumia amri ifuatayo.

$ node server.js
OR
$ npm start

Kisha, fungua kivinjari cha wavuti na ufikie programu yako ya wavuti, ambayo haifanyi chochote zaidi ya kuchapisha kamba Hujambo ulimwengu!, kwa kutumia anwani:

http://localhost:3333

Katika msimbo wetu hapo juu, tukio kuu ambalo linachakatwa ni ombi la HTTP kupitia moduli ya HTTP.

Katika Node.js, vijenzi ni kama maktaba za JavaScript, vina vipengele ambavyo unaweza kutumia tena katika programu yako. Unaweza kutumia moduli zilizojengwa ndani, moduli za watu thelathini au kuunda yako mwenyewe.

Ili kupiga simu moduli katika programu yako, tumia kipengele cha hitaji kama inavyoonyeshwa.

var http = require('http');

Mara tu moduli ya http ikijumuishwa, itaunda seva inayosikiliza kwenye bandari fulani (3333 katika mfano huu). Mbinu ya http.creatServer huunda seva halisi ya http ambayo inakubali chaguo za kukokotoa (ambazo hutumwa mteja anapojaribu kufikia programu) kama hoja.

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

Chaguo za kukokotoa katika http.createServer ina hoja mbili: req(ombi) na jibu(jibu). Hoja ya req ni ombi kutoka kwa mtumiaji au mteja na hoja ya res hutuma jibu kwa mteja.

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

Sehemu ya mwisho ya msimbo hutuma pato kwa console, mara tu seva inapozinduliwa.

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

Katika sehemu hii, nitaeleza mojawapo ya dhana muhimu zaidi chini ya upangaji wa Node.js unaojulikana kama uelekezaji (unaolinganishwa na uelekezaji chini ya mtandao wa kompyuta: mchakato wa kutafuta njia ya trafiki katika mtandao).

Hapa, kuelekeza ni mbinu ya kushughulikia ombi la mteja; kuhudumia maudhui ambayo mteja ameomba, kama ilivyobainishwa katika URL. URL imeundwa na njia na mfuatano wa hoja.

Ili kuona mfuatano wa ombi la mteja, tunaweza kuongeza mistari iliyo hapa chini katika jibu letu.

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

Ifuatayo ni msimbo mpya.

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

Hifadhi faili na uanze programu yako tena kwa kutumia amri ifuatayo.

$ node server.js
OR
$ npm start

Kutoka kwa kivinjari cha wavuti, charaza URL tofauti ambazo zitaonyeshwa kama inavyoonyeshwa hapa chini.

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

Sasa, tutaunda tovuti ndogo sana ya Tecmint yenye ukurasa wa nyumbani, kuhusu na kurasa za waandishi. Tutaonyesha habari fulani kwenye kurasa hizi.

Fungua server.js faili kwa ajili ya kuhariri, na uongeze msimbo ulio hapa chini ndani yake.

//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....');

Katika msimbo ulio hapo juu, tumeona jinsi ya kuandika maoni katika Node.js kwa kutumia vibambo // na pia tulianzisha kauli za kubadili na kesi za kuelekeza maombi ya mteja.

Hifadhi faili, anza seva na ujaribu kufikia kurasa mbalimbali.

Ni hayo kwa sasa! Unaweza kupata habari zaidi kwenye tovuti za NPM.

Node.js inapanda hadi viwango vipya hivi leo, imerahisisha uundaji wa rundo kamili zaidi kuliko hapo awali. Ni falsafa ya kipekee ya upangaji programu inayoendeshwa na hafla hukuwezesha kuunda michakato na seva zinazoweza kumeta haraka, bora na hatari.

Ifuatayo, tutaelezea mifumo ya Node.js, ambayo huongeza uwezo wake wa asili kwa kukuza haraka na kwa uhakika programu za wavuti/simu. Shiriki maoni yako juu ya nakala hii kupitia sehemu ya maoni hapa chini.