Zoeken op website

Hoe u uw eerste Node.js-app in Linux schrijft


De trends op het gebied van webontwikkeling zijn de afgelopen jaren drastisch veranderd en als webontwikkelaar is het belangrijk om op de hoogte te blijven van de nieuwste technologieën om aan de top te blijven.

JavaScript is de huidige trending programmeertaal; het is zonder twijfel de meest populaire technologie die wordt gebruikt door full-stack-ontwikkelaars.

JavaScript-webframeworks zijn een magische oplossing geworden voor snellere webontwikkeling met absolute efficiëntie, veiligheid en minimale kosten. Ik ben er vrij zeker van dat je wel eens gehoord hebt van Node JavaScript (gewoonlijk Node.js of kortweg Node genoemd), er is veel over te doen op het internet.

In dit artikel laat ik u zien hoe u aan de slag kunt gaan met het ontwikkelen van applicaties in JavaScript met behulp van Node.js in Linux. Maar laten we eerst een korte introductie krijgen over Node.js.

Wat is Node.js?

Node.js is een open source, lichtgewicht en efficiënte JavaScript-runtime gebouwd op de V8 JavaScript-engine van Chrome. Het is ontworpen zonder threads (single-threaded) en heeft een vergelijkbare implementatie als Twisted, een netwerkengine gebouwd met behulp van Python of Event Machine, een gebeurtenisverwerkingsbibliotheek voor Ruby-programma's.

Het hart van Node.js is gebaseerd op gebeurtenisgestuurd programmeren; een programmeur moet daarom begrijpen welke gebeurtenissen beschikbaar zijn en hoe hij daarop moet reageren.

Pakketbeheer onder Node.js

Node.js gebruikt de JavaScript pakketbeheerder en het ecosysteem genaamd “npm ”, dat een enorme verzameling gratis open source-bibliotheken bevat. Het ondersteunt modulaire softwareontwikkeling. U kunt het gebruiken om knooppuntpakketten te installeren, uw code te delen, te distribueren en pakketafhankelijkheden te beheren.

Waarom is Node.js belangrijk?

Node.js is krachtig en dus belangrijk vanwege de volgende redenen:

  • Het maakt gebruik van een asynchroon, gebeurtenisgestuurd, niet-blokkerend I/O-uitvoeringsmodel, dat de doorvoer van een applicatie verbetert en de schaalbaarheid voor echte webapplicaties ondersteunt.
  • Het is single-threaded, zodat er maar één CPU tegelijk kan worden gebruikt.
  • Een node.js webapplicatie is een complete webserver, bijvoorbeeld Nginx of Apache.
  • Het ondersteunt threads via de child_process.fork() API, voor het spawnen van onderliggende processen, en biedt ook een clustermodule.

Met deze korte introductie staat u vast te popelen om uw eerste JavaScript-programma te schrijven. Maar eerst moet u de pakketten Node.js en NPM op uw Linux-systeem installeren met behulp van de volgende handleiding.

  1. Installeer de nieuwste Nodejs- en NPM-versie in Linux-systemen

Hoe u uw eerste Node.js-app in Linux kunt maken

Zodra u Node.js heeft geïnstalleerd, bent u klaar om aan de slag te gaan. Begin eerst met het maken van een map waarin uw toepassingsbestanden worden opgeslagen.

sudo mkdir -p /var/www/myapp

Ga vervolgens naar die map en maak een package.json bestand voor uw toepassing. Dit bestand helpt als kleine documentatie voor uw project: naam van het project, auteur, lijst met pakketten waarvan het afhankelijk is, enzovoort.

cd /var/www/myapp
npm init

Hierdoor wordt u een aantal vragen gesteld. Beantwoord deze eenvoudig zoals hieronder beschreven en druk op [Enter]. Merk op dat de belangrijkste dingen in package.json de naam- en versievelden zijn, zoals hieronder uitgelegd.

  • pakketnaam – uw app-naam, standaard de mapnaam.
  • versie – versie van uw app.
  • beschrijving – schrijf een korte beschrijving voor uw app.
  • invoerpunt – stelt het standaardpakketbestand in dat moet worden uitgevoerd.
  • testopdracht – gebruikt om een testscript te maken (standaard een leeg script).
  • git repository – definieer een Git repository (als je die hebt).
  • trefwoorden – stel trefwoorden in, belangrijk voor andere gebruikers om uw pakket op npm te identificeren.
  • auteur – specificeert de naam van de auteur, plaats hier uw naam.
  • licentie – geef een licentie op voor uw app/pakket.

Maak vervolgens een server.js-bestand.

sudo vi server.js

Kopieer en plak onderstaande code erin.

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

Start vervolgens uw applicatie met behulp van de volgende opdracht.

node server.js
OR
npm start

Open vervolgens een webbrowser en open uw webapp, die niets anders doet dan de string 'Hallo wereld! ”, met behulp van het adres:

http://localhost:3333

In onze code hierboven is de hoofdgebeurtenis die wordt verwerkt een HTTP-verzoek via de HTTP-module.

De Nodejs HTTP-module

In Node.js lijken modules meer op JavaScript-bibliotheken; ze bevatten functies die u in uw app kunt hergebruiken. Je kunt ingebouwde modules, dertig partymodules gebruiken of je eigen modules maken.

Om modules in uw app aan te roepen, gebruikt u de vereiste functie zoals weergegeven.

var http = require('http');

Zodra de http-module is opgenomen, wordt er een server gemaakt die op een bepaalde poort luistert (3333 in dit voorbeeld). De methode http.creatServer creëert de daadwerkelijke http-server die een functie (die wordt aangeroepen wanneer een client toegang probeert te krijgen tot de app) als argument accepteert.

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

De functie in http.createServer heeft twee argumenten: req(request) en res(response). Het argument req is het verzoek van een gebruiker of klant en het argument res stuurt een antwoord naar de klant.

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

Het laatste deel van de code stuurt uitvoer naar de console zodra de server is gestart.

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

Routering in Node.js

In deze sectie zal ik een van de belangrijkste concepten onder Node.js-programmering uitleggen, bekend als routing (vergelijkbaar met routering onder computernetwerken: proces van het vinden van een pad voor verkeer in een netwerk).

Hier is routing een techniek voor het afhandelen van het verzoek van een klant; het aanbieden van de inhoud waar de klant om heeft gevraagd, zoals gespecificeerd in de URL. Een URL bestaat uit een pad en een queryreeks.

Om de verzoekreeks van een klant te bekijken, kunnen we de onderstaande regels aan ons antwoord toevoegen.

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

Hieronder vindt u de nieuwe code.

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

Sla het bestand op en start uw toepassing opnieuw met behulp van de volgende opdracht.

node server.js
OR
npm start

Typ vanuit een webbrowser verschillende URL's die worden weergegeven zoals hieronder weergegeven.

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

Nu gaan we een heel kleine website maken voor Tecmint met een startpagina, informatie- en auteurspagina's. Op deze pagina's zullen we wat informatie weergeven.

Open het bestand server.js om het te bewerken en voeg de onderstaande code eraan toe.

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

In de bovenstaande code hebben we gezien hoe je commentaar kunt schrijven in Node.js met behulp van de //-tekens en hebben we ook switch- en case-instructies geïntroduceerd voor het routeren van clientverzoeken.

Sla het bestand op, start de server en probeer de verschillende pagina's te openen.

Dat is het voor nu! Meer informatie vindt u op de websites van Nodejs en NPM.

Lees ook: PM2 installeren om Node.js-apps op Linux uit te voeren

Conclusie

Node.js stijgt vandaag naar nieuwe hoogtepunten en heeft de ontwikkeling van de volledige stapel veel eenvoudiger gemaakt dan voorheen. De unieke filosofie van gebeurtenisgestuurd programmeren stelt u in staat razendsnelle, efficiënte en schaalbare webprocessen en servers te creëren.

Vervolgens zullen we de Node.js-frameworks uitleggen, die de oorspronkelijke mogelijkheden ervan uitbreiden voor het snel en betrouwbaar ontwikkelen van web-/mobiele applicaties. Deel uw mening over dit artikel via de commentaarsectie hieronder.