NodeJS

Wat is NodeJS?

Wat is NodeJS?

In deze tutorial gaan we aan de slag met Node.js. Leer meer over enkele van de meest populaire functies en zal proberen de lezers te motiveren om deze geweldige technologie voor hun toekomstige projecten te gebruiken. Als voorwaarde hoeft u alleen maar een voorbijgaande bekendheid te hebben met JavaScript en generieke programmeerconcepten, zoals variabelen, gegevenstypen en functies.

JavaScript heeft een vreemde geschiedenis. Het begon als een lichtgewicht scripttaal voor webbrowsers en werd meer als een 'speeltje' dan als een serieuze programmeertaal behandeld. Maar het is zijn bescheiden begin al lang ontgroeid.

Mensen begonnen de mogelijkheden ervan uit te breiden toen Google Chrome's JavaScript-interpreter opensourcede - de V8-engine. Knooppunt.js neemt deze JavaScript-engine en breidt deze uit om buiten het domein van de browser te werken. Knooppunt.js verbindt JavaScript met de API van uw besturingssysteem zodat het native op de server kan worden uitgevoerd (of, in het geval van een ontwikkelaar, op zijn/haar bureaublad). Ja, dit betekent dat u server-side applicaties, desktop-applicaties en back-end mechanismen kunt implementeren door slechts één taal te leren - JavaScript.

Simpel gezegd, je kunt schrijven .js bestanden die programma's bevatten die in JavaScript-syntaxis zijn geschreven en die door Node . worden geïnterpreteerd.js ongeveer op dezelfde manier als .py bestanden met geldige syntaxis worden geïnterpreteerd/uitgevoerd door python interpreter.

Er komt echter meer bij kijken dan alleen de taal kennen, Node.js heeft onbekende modules en concepten die geduld zouden vergen in een oneindige cyclus van het leren van nieuwe concepten. Het heeft zijn eigen pakketbeheerder (npm), versiebeheer (nvm) en 's werelds grootste pakketregister. Wees gerust, de eerste moeilijkheid zal je leven op de lange termijn een stuk gemakkelijker maken.

Installatie

Momenteel zijn er twee opties voor Node.js-versies die u misschien wilt overwegen.

We blijven bij de LTS-versie. Als u Node van de officiële site voor uw besturingssysteem downloadt, wordt ook de Node Package Manager (npm) geïnstalleerd. Het is moeilijk om te praten over Node.js zonder in npm te komen. Op de pakketbeheerder komen we later terug. Als je Ubuntu of een andere debian-distro gebruikt, gebruik dan gewoon:

$ sudo apt install nodejs

Ga voor alle binaire bestanden en de broncode naar de officiële downloadpagina.

Dat is het met installatie, tijd om te zeggen: "Hallo, wereld"!”

Hallo Wereld! En een server maken

Zoals beloofd gaan we een Hallo.js bestand en voer het uit met Node. In een tekstbestand zonder opmaak, genaamd Hallo.js, we schrijven de volgende regel:

troosten.log(“Hallo wereld!”);

Sla nu het bestand op en open een terminal in dezelfde map als dat bestand en voer de volgende opdracht uit:

$node hallo.js
#Of je kunt rennen
$node hallo

Dit geeft je de gewenste output van "Hallo Wereld". Net als vanille JavaScript. Maar zeker, we kunnen het beter doen..

In tegenstelling tot op PHP gebaseerde applicaties die Apache of Nginx of een ander webserverprogramma nodig hebben om bovenop te draaien, schrijven we in node onze eigen http-routes, configureren we de poorten en hostnamen en verwerken we HTTP-verzoeken om de juiste antwoorden te geven.

Klinkt als veel werk, maar het is slechts een eerste hindernis in de leercurve, en als je de dingen eenmaal onder de knie hebt, kun je webapplicaties dieper begrijpen dan ooit tevoren. Laten we een webserver maken die luistert op poort 3000 op localhost en als antwoord een tekstbestand retourneert. Maak een bestand app.js met de volgende inhoud:

const http = vereisen('http');
const hostnaam = '127.0.0.1';
const poort = 3000;
const server = http.createServer((req, res) =>
onderzoek.statuscode = 200;
onderzoek.setHeader('Content-Type', 'text/plain');
onderzoek.end('Hallo wereld\n');
);
server.luister(poort, hostnaam, () =>
troosten.log('Server draait op http://$hostname:$port/');
);

Voordat we ingaan op de details van de code, slaat u dit bestand op en opent u een terminal in dezelfde map als het bestand, en voert u het volgende uit:

$ node-app

Dit zal de inhoud van uitvoeren app.js bestand en je krijgt als volgt een uitvoer:

Open een webbrowser en ga naar http://localhost:3000/ of http://127.0.0.1:3000/ om een ​​eenvoudige Hello World-tekst in uw browservenster te zien.

Dus wat hebben we net gedaan?? Welnu, als u bekend bent met JavaScript, kunt u er waarschijnlijk iets van begrijpen ..

De Eerste lijn importeert de http-module, een ingebouwde module die samen met Node wordt geleverd, en het helpt ons om op websockets te luisteren naar verzoeken, http-verzoeken te verwerken en passende antwoorden te geven.

De tweede en derde regel zet de hostnaam naar '127.0.0.1' en haven  naar 3000. Dit betekent dat we de variabele kunnen blijven hergebruiken hostnaam en haven, in plaats van het volledige IP-adres in te typen. Later, wanneer u het daadwerkelijk op een server implementeert, vervangt u het door het IP-adres van de server en een poortnummer zoals 80 of 443 als het een webserver is. het sleutelwoord const zorgt ervoor dat de variabele niet elders in het programma kan worden gewijzigd.

De lijnen vier voor acht  maakt een serverobject dat het verzoek als . aanneemt vereist en geeft antwoord als onderzoek.

Het antwoord heeft een statusCode-attribuut, de onderzoek.status code die is ingesteld op 200, wat de client interpreteert als de status "Oké". Foutcodes zijn 400s en 500s, bijvoorbeeld Error 404 is code voor bron niet gevonden. Evenzo is het attribuut setHeader ingesteld op 'text/plain', wat betekent dat de client platte tekst zal ontvangen. U kunt dit instellen op HTML en uw browser zal elke geldige HTML weergeven waarmee de server reageert respond. En de einde attribuut is gewoon de tekst die we willen retourneren. In plaats van hier een string te hebben, zullen toepassingen in de echte wereld een statisch HTML-bestand of een ander hebben .js bestand voor de clientbrowser, wat een veel nuttiger antwoord zou zijn.

eindelijk, de laatste drie regels start de server en drukt een bericht af dat deze actief is op een specifieke hostnaam en poortnummer zoals ingesteld door as const verklaringen, aanvankelijk. Elke keer dat er een nieuw verzoek binnenkomt op de opgegeven hostnaam:poort-combinatieserver geeft antwoord met toepasselijk reactie voorwerp.

Wat het inhoudt??

U hoeft de bovenstaande code niet in zijn geheel te begrijpen om de implicaties te kennen. We hebben JavaScript al aan de front-end dankzij geweldige frameworks zoals Angular en React. Daarnaast hebben we ook back-end functionaliteiten ingebakken in de Node.js ethos.

Webframeworks zoals Express.js kan je helpen een nog complexere applicatie bovenop Node te schrijven.js. Gegevens ophalen uit de database, API's maken en de front-end UI kunnen allemaal in één taal worden geschreven.

De kracht van V8

Ondanks dat het allemaal één taal is, valt er nog veel te leren. Verschillende frameworks en modules hebben verschillende functionaliteiten. Er zijn een heleboel versies om bij te houden. Dus is er nog een ander voordeel van het gebruik van de Node?.js-ecosysteem.

Een van de belangrijkste argumenten daarvoor is dat de V8-motor een uitstekende ondersteuning biedt voor asynchrone, niet-blokkerende I/O. Wat in feite betekent dat een enkel proces dat op uw systeemgeheugen draait, meerdere inkomende verzoeken aankan. Wat het ruwweg betekent is dat als een verzoek wordt verwerkt en een ander verzoek binnenkomt, Node de mogelijkheid heeft om het nieuwe verzoek te verwerken, zelfs als de eerste aanvraag is nog niet klaar.

Bovendien is een enkel proces in uw geheugen verantwoordelijk voor het afhandelen van alle inkomende verzoeken. In tegenstelling tot op PHP gebaseerde applicaties die een nieuw proces voortbrengen voor elk nieuw binnenkomend verzoek.

Hopelijk was deze intro voldoende om je te motiveren voor Node.js. Laat ons weten of je meer diepgaande tutorials over vergelijkbare onderwerpen wilt door ons te volgen op Twitter, Facebook en YouTube.

Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...
De scrollrichting van de muis en touchpads omkeren in Windows 10
Muis en Touchpads maken computergebruik niet alleen eenvoudig, maar ook efficiënter en minder tijdrovend. We kunnen ons een leven zonder deze apparate...
Hoe de muisaanwijzer en cursorgrootte, kleur en schema op Windows 10 te veranderen
De muisaanwijzer en cursor in Windows 10 zijn zeer belangrijke aspecten van het besturingssysteem. Dit geldt ook voor andere besturingssystemen, dus i...