Sådan skriver du din første Node.js-app i Linux


Webudviklingstendenser har ændret sig drastisk i løbet af de sidste par år, og som webudvikler er det vigtigt at være opdateret med de nyeste teknologier for at være øverst i dit spil.

JavaScript er det aktuelle populære programmeringssprog derude; det er uden tvivl den mest populære teknologi, der anvendes af full stack-udviklere.

JavaScript-webrammer er blevet en magisk løsning til hurtigere webudvikling med absolut effektivitet, sikkerhed og minimerede omkostninger. Jeg er helt sikker på, at du har hørt om Node JavaScript (ofte kaldet Node.js eller simpelthen Node), der er en brummer om det på Internettet.

I denne artikel vil jeg vise dig, hvordan du kommer i gang med at udvikle applikationer i JavaScript ved hjælp af Node.js i Linux. Men først, lad os få en kort introduktion til Node.js.

Hvad er Node.js?

Node.js er en open source, let og effektiv JavaScript-runtime bygget på Chromes V8 JavaScript-motor. Det er designet uden tråde (single-threaded) og har en lignende implementering som Twisted, en netværksmotor bygget ved hjælp af Python eller Event Machine, et hændelsesbehandlingsbibliotek til Ruby-programmer.

Hjertet i Node.js er baseret på begivenhedsdrevet programmering; en programmør skal derfor forstå, hvilke begivenheder der er tilgængelige, og hvordan man reagerer på dem.

Pakkehåndtering under Node.js

Node.js bruger JavaScript-pakkehåndteringen og økosystemet kaldet “npm”, som indeholder en enorm samling af gratis open source-biblioteker. Det understøtter modulær softwareudvikling. Du kan bruge den til at installere knudepakker, dele, distribuere din kode og administrere pakkeafhængigheder.

Node.js er en stærk og dermed vigtig på grund af følgende årsager:

  • Det bruger en asynkron hændelsesdrevet, ikke-blokerende I/O-model til eksekvering, hvilket forbedrer en applikations kapacitet og understøtter skalerbarhed til virkelige webapplikationer.
  • Den har en enkelt gevind, så den kun kan bruge 1 CPU til enhver tid.
  • En node.js-webapplikation er en komplet webserver, f.eks. Nginx eller Apache.
  • Det understøtter tråde via child_process.fork() API til gydning af underordnet proces og tilbyder også et klyngemodul.

Med denne korte introduktion skal du være ivrig efter at skrive dit første JavaScript-program. Men først skal du installere Node.js- og NPM-pakker på dit Linux-system ved hjælp af følgende vejledning.

  1. Installer nyeste Nodejs- og NPM-version i Linux-systemer

Sådan oprettes din første Node.js-app i Linux

Når du har installeret Node.js, er du klar til at gå. Start først med at oprette et bibliotek, der gemmer dine applikationsfiler.

$ sudo mkdir -p /var/www/myapp

Gå derefter ind i den mappe, og opret en package.json -fil til din applikation. Denne fil hjælper som en lille dokumentation for dit projekt: projektets navn, forfatter, liste over pakker, det afhænger af og så videre.

$ cd /var/www/myapp
$ npm init

Dette vil stille dig et antal spørgsmål, svar blot som beskrevet nedenfor, og tryk på [Enter]. Bemærk, at de vigtigste ting i package.json er navn- og versionfelterne som forklaret nedenfor.

  • pakkenavn - dit appnavn er som standard mappenavnet.
  • version - version af din app.
  • beskrivelse - skriv en kort beskrivelse til din app.
  • indgangspunkt - indstiller den standardpakkefil, der skal udføres.
  • testkommando - bruges til at oprette et test script (er som standard et tomt script).
  • git repository - definer et Git repository (hvis du har en).
  • nøgleord - indstil nøgleord, der er vigtigt for andre brugere at identificere din pakke på npm.
  • forfatter - angiver forfatternavn, sæt dit navn her.
  • licens - angiv en licens til din app/pakke.

Opret derefter en server.js -fil.

$ sudo vi server.js

Kopier og indsæt koden nedenfor i den.

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

Start derefter din applikation ved hjælp af følgende kommando.

$ node server.js
OR
$ npm start

Åbn derefter en webbrowser og få adgang til din webapp, som ikke gør meget andet end at udskrive strengen ”Hej verden!” Ved hjælp af adressen:

http://localhost:3333

I vores kode ovenfor er den vigtigste begivenhed, der behandles, en HTTP-anmodning via HTTP-modulet.

I Node.js ligner moduler mere JavaScript-biblioteker, de indeholder funktioner, som du kan genbruge i din app. Du kan bruge indbyggede moduler, tredive festmoduler eller oprette dine egne.

For at ringe til moduler i din app skal du bruge den krævede funktion som vist.

var http = require('http');

Når http-modulet er inkluderet, opretter det en server, der lytter til en bestemt port (3333 i dette eksempel). Http.creatServer-metoden opretter den aktuelle http-server, som accepterer en funktion (som kaldes på, når en klient forsøger at få adgang til appen) som et argument.

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

Funktionen i http.createServer har to argumenter: req (anmodning) og res (svar). Req-argumentet er anmodningen fra en bruger eller klient, og res-argumentet sender et svar til klienten.

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

Den sidste del af koden sender output til konsollen, når serveren er startet.

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

I dette afsnit vil jeg forklare et af de vigtigste begreber under Node.js-programmering kendt som routing (sammenlignes med routing under computernetværk: proces til at finde en sti til trafik i et netværk).

Her er routing en teknik til håndtering af en klients anmodning; betjener det indhold, som klienten har anmodet om, som angivet i URL'en. En URL består af en sti og en forespørgselsstreng.

For at se en klients anmodningsforespørgselsstreng kan vi tilføje nedenstående linjer i vores svar.

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

Nedenfor er den nye kode.

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

Gem filen, og start din applikation igen ved hjælp af følgende kommando.

$ node server.js
OR
$ npm start

Indtast forskellige webadresser fra en webbrowser, som vises som vist nedenfor.

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

Nu opretter vi en rigtig lille webside til Tecmint med en hjemmeside, om og forfatteresider. Vi viser nogle oplysninger på disse sider.

Åbn filen server.js til redigering, og tilføj koden nedenfor i den.

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

I ovenstående kode har vi set, hvordan man skriver kommentarer i Node.js ved hjælp af / -tegnene og også introduceret switch- og case-erklæringer til routing af klientanmodninger.

Gem filen, start serveren, og prøv at få adgang til de forskellige sider.

Det er det for nu! Du kan finde flere oplysninger på NPM-websteder.

Node.js stiger til nye højder i dag, det har gjort udviklingen af full stack meget lettere end før. Den unikke filosofi om begivenhedsdrevet programmering giver dig mulighed for at skabe lynhurtige, effektive og skalerbare webprocesser og servere.

Dernæst vil vi forklare Node.js-rammer, der udvider dens oprindelige muligheder for hurtig og pålidelig udvikling af web-/mobilapplikationer. Del dine tanker om denne artikel via kommentarfeltet nedenfor.