Kā rakstīt savu pirmo Node.js lietotni Linux


Tīmekļa attīstības tendences pēdējos gados ir krasi mainījušās, un, būdams tīmekļa izstrādātājs, ir svarīgi sekot līdzi jaunākajām tehnoloģijām, lai būtu jūsu spēles augšgalā.

JavaScript ir pašreizējā populārā programmēšanas valoda; tā, bez šaubām, ir vispopulārākā tehnoloģija, ko izmanto pilnas kaudzes izstrādātāji.

JavaScript tīmekļa ietvari ir kļuvuši par maģisku risinājumu ātrākai tīmekļa izstrādei ar absolūtu efektivitāti, drošību un minimizētām izmaksām. Esmu diezgan pārliecināts, ka esat dzirdējis par Node JavaScript (ko parasti dēvē par Node.js vai vienkārši Node), un internetā par to ir dzirdams satraukums.

Šajā rakstā es jums parādīšu, kā sākt darbu ar lietojumprogrammu izstrādi JavaScript, izmantojot Node.js Linux. Vispirms ļaujiet iegūt īsu ievadu vietnē Node.js.

Kas ir Node.js?

Node.js ir atvērtā koda, viegls un efektīvs JavaScript izpildlaiks, kas veidots uz Chrome V8 JavaScript dzinēja. Tas ir veidots bez pavedieniem (viena pavediena), un tam ir līdzīga Twisted - tīkla programma, kas izveidota, izmantojot Python vai Event Machine, notikumu apstrādes bibliotēka Ruby programmām.

Node.js pamats ir notikumu virzīta programmēšana; programmētājam tāpēc vajadzētu saprast, kādi notikumi ir pieejami un kā uz tiem reaģēt.

Pakotņu pārvaldība zem Node.js

Node.js izmanto JavaScript pakotņu pārvaldnieku un ekosistēmu ar nosaukumu “npm”, kas satur milzīgu bezmaksas atvērtā pirmkoda bibliotēku kolekciju. Tas atbalsta modulāru programmatūras izstrādi. To var izmantot, lai instalētu mezglu paketes, koplietotu, izplatītu kodu un pārvaldītu pakotņu atkarības.

Node.js ir spēcīgs un tādējādi svarīgs šādu iemeslu dēļ:

  • Tas izmanto asinhronu notikumu vadītu, nebloķējošu I/O izpildes modeli, kas uzlabo lietojumprogrammas caurlaidspēju un atbalsta mērogojamību reālās pasaules tīmekļa lietojumprogrammām.
  • Tas ir ar vienu vītni, tāpēc tajā var izmantot tikai 1 procesoru.
  • Node.js tīmekļa lietojumprogramma ir pilnīgs tīmekļa serveris, piemēram, Nginx vai Apache.
  • Tas atbalsta pavedienus, izmantojot child_process.fork() API, bērna nārsta procesam, kā arī piedāvā klastera moduli.

Ar šo īso ievadu jums ļoti gribas uzrakstīt savu pirmo JavaScript programmu. Tomēr vispirms ir jāinstalē Node.js un NPM pakotnes Linux sistēmā, izmantojot šo rokasgrāmatu.

  1. Linux sistēmās instalējiet jaunāko Nodejs un NPM versiju

Kā izveidot savu pirmo Node.js lietotni Linux

Kad esat instalējis Node.js, varat sākt darbu. Vispirms sāciet izveidot direktoriju, kurā tiks glabāti jūsu lietojumprogrammas faili.

$ sudo mkdir -p /var/www/myapp

Pēc tam pārejiet uz šo direktoriju un izveidojiet lietojumprogrammai failu package.json . Šis fails palīdz kā neliela dokumentācija jūsu projektam: projekta nosaukums, autors, no tā atkarīgo paku saraksts un tā tālāk.

$ cd /var/www/myapp
$ npm init

Tas jums uzdos vairākus jautājumus, vienkārši atbildiet, kā aprakstīts zemāk, un nospiediet [Enter]. Ņemiet vērā, ka vissvarīgākās lietas package.json ir nosaukuma un versijas lauki, kā paskaidrots tālāk.

  • pakotnes nosaukums - jūsu lietotnes nosaukums pēc noklusējuma ir direktorija nosaukums.
  • versija - jūsu lietotnes versija.
  • apraksts - uzrakstiet īsu savas lietotnes aprakstu.
  • ievadīšanas punkts - iestata izpildāmo noklusējuma pakotņu failu.
  • testa komanda - tiek izmantota testa skripta izveidošanai (noklusējums ir tukšs skripts).
  • git krātuve - definējiet Git krātuvi (ja tāda jums ir).
  • atslēgvārdi - iestatiet atslēgvārdus, kas ir svarīgi, lai citi lietotāji varētu noteikt jūsu paketi uz npm.
  • autors - norāda autora vārdu, šeit ievietojiet savu vārdu.
  • licence - norādiet savas lietotnes/pakotnes licenci.

Pēc tam izveidojiet failu server.js .

$ sudo vi server.js

Nokopējiet un ielīmējiet tajā zemāk esošo kodu.

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

Pēc tam sāciet lietojumprogrammu, izmantojot šādu komandu.

$ node server.js
OR
$ npm start

Pēc tam atveriet tīmekļa pārlūkprogrammu un piekļūstiet savai tīmekļa lietotnei, kas neko daudz nedara, kā tikai izdrukā virkni “Hello world!”, Izmantojot adresi:

http://localhost:3333

Mūsu kodā iepriekš galvenais notikums, kas tiek apstrādāts, ir HTTP pieprasījums, izmantojot HTTP moduli.

Vietnē Node.js moduļi vairāk līdzinās JavaScript bibliotēkām, tajos ir funkcijas, kuras varat atkārtoti izmantot savā lietotnē. Jūs varat izmantot iebūvētus moduļus, trīsdesmit ballīšu moduļus vai izveidot savus.

Lai izsauktu moduļus savā lietotnē, izmantojiet vajadzīgo funkciju, kā parādīts.

var http = require('http');

Kad būs iekļauts modulis http, tas izveidos serveri, kas klausās konkrēto portu (šajā piemērā - 3333). Metode http.creatServer izveido faktisko http serveri, kas kā funkciju pieņem funkciju (kas tiek izsaukta, kad klients mēģina piekļūt lietotnei).

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

Funkcijai http.createServer ir divi argumenti: req (pieprasījums) un res (atbilde). Req arguments ir lietotāja vai klienta pieprasījums, un res arguments nosūta klientam atbildi.

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

Pēc servera palaišanas koda pēdējā daļa izved uz konsoli.

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

Šajā sadaļā es izskaidrošu vienu no vissvarīgākajiem Node.js programmēšanas jēdzieniem, kas pazīstami kā maršrutēšana (salīdzināma ar maršrutēšanu datortīklā: ceļa trafika atrašanas process tīklā).

Šeit maršrutēšana ir klienta pieprasījuma apstrādes paņēmiens; tiek rādīts klients pieprasītais saturs, kā norādīts URL. URL veido ceļš un vaicājuma virkne.

Lai skatītu klienta pieprasījuma vaicājuma virkni, atbildē varam pievienot tālāk norādītās rindas.

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

Zemāk ir jaunais kods.

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

Saglabājiet failu un vēlreiz palaidiet lietojumprogrammu, izmantojot šādu komandu.

$ node server.js
OR
$ npm start

Tīmekļa pārlūkprogrammā ierakstiet dažādus vietrāžus URL, kas tiks parādīti, kā parādīts zemāk.

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

Tagad mēs izveidosim patiešām mazu vietni Tecmint ar mājas lapu, par un autoru lapām. Šajās lapās mēs parādīsim nelielu informāciju.

Rediģēšanai atveriet failu server.js un pievienojiet tajā zemāk esošo kodu.

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

Iepriekš minētajā kodā mēs esam redzējuši, kā rakstīt komentārus vietnē Node.js, izmantojot rakstzīmes /, kā arī ieviesām slēdžu un lietu paziņojumus klienta pieprasījumu maršrutēšanai.

Saglabājiet failu, palaidiet serveri un mēģiniet piekļūt dažādām lapām.

Pagaidām tas ir viss! Plašāku informāciju varat atrast NPM vietnēs.

Node.js šodien ir sasniedzis jaunus rekordus, tas ir daudz vienkāršāk veicis pilnu kaudzes attīstību nekā iepriekš. Tā ir unikāla notikumu virzītas programmēšanas filozofija, kas ļauj jums izveidot zibens ātrus, efektīvus un pielāgojamus tīmekļa procesus un serverus.

Tālāk mēs izskaidrosim Node.js ietvarus, kas paplašina tā sākotnējās iespējas, lai ātri un droši izstrādātu tīmekļa/mobilās lietojumprogrammas. Dalieties savās domās par šo rakstu, izmantojot zemāk esošo komentāru sadaļu.