Yadda ake Rubuta Node.js App na Farko a cikin Linux


Hanyoyin ci gaban yanar gizo sun canza sosai a cikin ƴan shekarun da suka gabata kuma a matsayin mai haɓaka gidan yanar gizo, don kasancewa a saman wasan ku, yana da mahimmanci ku ci gaba da sabuntawa tare da sabbin fasahohi.

JavaScript shine yaren shirye-shirye na yau da kullun a waje; Babu shakka ita ce mafi shaharar fasahar da masu ci gaba da tari ke amfani da ita.

Tsare-tsaren gidan yanar gizon JavaScript sun zama mafita na sihiri don haɓakar gidan yanar gizo cikin sauri tare da cikakkiyar inganci, aminci da ƙarancin farashi. Na tabbata kun ji game da Node JavaScript (wanda aka fi sani da Node.js ko kuma Node kawai), akwai kugi game da shi akan Intanet.

A cikin wannan labarin, zan nuna muku yadda ake farawa tare da haɓaka aikace-aikace a cikin JavaScript ta amfani da Node.js a cikin Linux. Amma da farko, bari mu sami taƙaitaccen gabatarwa zuwa Node.js.

Menene Node.js?

Node.js buɗaɗɗen tushe ne, mai nauyi da ingantaccen lokacin aikin JavaScript wanda aka gina akan injin V8 JavaScript na Chrome. An tsara shi ba tare da zaren zare ba (mai zaren guda ɗaya) kuma yana da irin wannan aiwatarwa zuwa Twisted, injin sadarwar da aka gina ta amfani da Python ko Event Machine, ɗakin karatu na sarrafa taron don shirye-shiryen Ruby.

Zuciyar Node.js ta dogara ne akan shirye-shiryen da aka gudanar; Don haka ya kamata mai tsara shirye-shirye ya fahimci abubuwan da ke faruwa da kuma yadda zai amsa su.

Gudanar da Kunshin Ƙarƙashin Node.js

Node.js yana amfani da manajan fakitin JavaScript da muhalli mai suna \npm, wanda ya ƙunshi ɗimbin tarin ɗakunan karatu na buɗewa kyauta. Yana tallafawa haɓaka software na zamani. Kuna iya amfani da shi don shigar da fakitin node, raba, rarraba lambar ku da sarrafa shi. abin dogara kunshin.

Node.js yana da ƙarfi kuma don haka yana da mahimmanci saboda dalilai masu zuwa:

  • Yana amfani da asynchronous taron-kore, wanda ba tare da toshe I/O samfurin aiwatarwa ba, wanda ke inganta kayan aikin aikace-aikacen kuma yana goyan bayan haɓaka ga aikace-aikacen yanar gizo na ainihi.
  • Yana da zaren guda ɗaya don haka zai iya amfani da CPU 1 kawai a kowane lokaci.
  • Aikace-aikacen gidan yanar gizo na node.js cikakkiyar sabar gidan yanar gizo ce misali Nginx ko Apache.
  • Yana goyan bayan zaren ta hanyar child_process.fork() API, don haɓaka tsarin yara, kuma yana ba da tsarin cluster.

Tare da wannan taƙaitaccen gabatarwar, dole ne ku yi sha'awar rubuta shirin JavaScript na farko. Koyaya, abubuwan farko da farko, kuna buƙatar shigar da fakitin Node.js da NPM akan tsarin Linux ɗinku ta amfani da jagorar mai zuwa.

  1. Saka Sabbin Nodejs da NPM Version a cikin Linux Systems

Yadda ake ƙirƙirar Node.js App na Farko a cikin Linux

Da zarar kun shigar da Node.js, kun shirya don tafiya. Da farko fara da ƙirƙirar kundin adireshi wanda zai adana fayilolin aikace-aikacen ku.

$ sudo mkdir -p /var/www/myapp

Sa'an nan matsa cikin wannan kundin adireshin kuma ƙirƙirar fayil ɗin package.json don aikace-aikacen ku. Wannan fayil ɗin yana taimakawa azaman ƙaramin takaddun aikin ku: sunan aikin, marubucin, jerin fakitin da ya dogara da sauransu.

$ cd /var/www/myapp
$ npm init

Wannan zai yi muku tambayoyi da yawa, kawai amsa kamar yadda aka bayyana a ƙasa, kuma danna [Enter]. Lura cewa abubuwa mafi mahimmanci a cikin package.json sune filayen suna da sigar kamar yadda aka bayyana a ƙasa.

  • Sunan fakiti - sunan app ɗin ku, wanda ba a taɓa yin shi ba ga sunan directory.
  • version - sigar app ɗin ku.
  • bayani - rubuta taƙaitaccen bayanin app ɗin ku.
  • Maganin shigarwa – yana saita tsoffin fakitin fayil don aiwatarwa.
  • umarnin gwaji - ana amfani da shi don ƙirƙirar rubutun gwaji (tsoho zuwa rubutun fanko).
  • git repository - ayyana ma'ajin Git (idan kuna da ɗaya).
  • mahimman kalmomi - saita kalmomi masu mahimmanci, masu mahimmanci ga sauran masu amfani don gano kunshin ku akan npm.
  • marubuci - yana ƙayyade sunan marubuci, saka sunan ku anan.
  • lasisi - saka lasisi don fakitin app ɗinku.

Na gaba, ƙirƙiri fayil ɗin server.js.

$ sudo vi server.js

Kwafi da liƙa lambar da ke ƙasa a ciki.

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

Na gaba, fara aikace-aikacenku ta amfani da umarni mai zuwa.

$ node server.js
OR
$ npm start

Bayan haka, buɗe mashigar gidan yanar gizo kuma sami damar aikace-aikacen gidan yanar gizon ku, wanda ba komai ya yi illa buga kirtani “Hello duniya!”, ta amfani da adireshin:

http://localhost:3333

A cikin lambar mu da ke sama, babban taron da ake sarrafa shi shine buƙatar HTTP ta hanyar tsarin HTTP.

A Node.js, kayayyaki sun fi kama da ɗakunan karatu na JavaScript, suna ɗauke da ayyuka waɗanda za ku iya sake amfani da su a cikin app ɗin ku. Kuna iya amfani da na'urorin da aka gina a ciki, tsarin jam'iyya talatin ko ƙirƙirar naku.

Don kiran samfura a cikin app ɗinku, yi amfani da aikin buƙata kamar yadda aka nuna.

var http = require('http');

Da zarar an haɗa da tsarin http, zai ƙirƙiri uwar garken da ke saurare akan wata tashar jiragen ruwa (3333 a cikin wannan misali). Hanyar http.creatServer ta ƙirƙiri ainihin uwar garken http wanda ke karɓar aiki (wanda ake kira lokacin da abokin ciniki yayi ƙoƙarin samun damar app) azaman hujja.

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

Ayyukan da ke cikin http.createServer yana da gardama guda biyu: buƙata (buƙata) da amsa (amsa). Hujjar req ita ce buƙata daga mai amfani ko abokin ciniki kuma gardamar ta sake aika da amsa ga abokin ciniki.

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

Sashe na ƙarshe na lambar yana aika fitarwa zuwa na'ura wasan bidiyo, da zarar an ƙaddamar da uwar garken.

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

A cikin wannan sashe, zan bayyana ɗaya daga cikin mahimman ra'ayoyi a ƙarƙashin shirye-shiryen Node.js da aka sani da routing (kwatankwacin kwatance a ƙarƙashin sadarwar kwamfuta: tsarin nemo hanyar zirga-zirga a cikin hanyar sadarwa).

Anan, tuƙi wata dabara ce ta sarrafa buƙatar abokin ciniki; bautar abubuwan da abokin ciniki ya nema, kamar yadda aka ƙayyade a cikin URL. URL ya ƙunshi hanya da igiyoyin tambaya.

Don duba igiyoyin neman buƙatar abokin ciniki, za mu iya ƙara layin da ke ƙasa a cikin martaninmu.

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

A ƙasa akwai sabon lambar.

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

Ajiye fayil ɗin kuma sake fara aikace-aikacenku ta amfani da umarni mai biyowa.

$ node server.js
OR
$ npm start

Daga mai binciken gidan yanar gizo, rubuta URLs daban-daban waɗanda za a nuna su kamar yadda aka nuna a ƙasa.

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

Yanzu, za mu ƙirƙiri ainihin ƙaramin gidan yanar gizo don Tecmint tare da shafin gida, game da kuma shafukan marubuta. Za mu nuna wasu bayanai akan waɗannan shafuka.

Bude fayil ɗin server.js don gyarawa, kuma ƙara lambar da ke ƙasa a ciki.

//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 cikin lambar da ke sama, mun ga yadda ake rubuta sharhi a cikin Node.js ta amfani da haruffa // sannan kuma mun gabatar da canji da bayanan shari'a don sarrafa buƙatun abokin ciniki.

Ajiye fayil ɗin, fara uwar garken kuma gwada samun dama ga shafuka daban-daban.

Shi ke nan a yanzu! Kuna iya samun ƙarin bayani a gidajen yanar gizon NPM.

Node.js yana tashi zuwa sabon matsayi a yau, ya sanya ci gaba mai cike da sauƙi fiye da da. Falsafa ce ta musamman na shirye-shirye-kore abin da ke ba ku damar ƙirƙirar walƙiya cikin sauri, ingantaccen aiki da daidaita ayyukan yanar gizo da sabar.

Na gaba, za mu yi bayanin tsarin Node.js, wanda ke tsawaita ikonsa na asali don haɓaka aikace-aikacen yanar gizo/wayar hannu cikin sauri da dogaro. Yi raba ra'ayoyinku game da wannan labarin ta hanyar sharhin da ke ƙasa.