NodeJS

Vad är NodeJS?

Vad är NodeJS?

I den här handledningen kommer vi igång med Node.js. Lär dig om några av dess mest populära funktioner och försök att motivera läsarna att använda den här underbara tekniken för sina framtida projekt. Som en förutsättning behöver du bara känna till JavaScript och generiska programmeringskoncept som t.ex. variabler, datatyper och funktioner.

JavaScript har en konstig historia. Det började som ett lätt skriptspråk för webbläsare och behandlades mer som en "leksak" än ett seriöst programmeringsspråk. Men det har för länge sedan vuxit ur sin ödmjuka början.

Folk började utöka sina möjligheter när Googles öppna Chrome-JavaScript-tolk - V8-motorn. Nod.js tar den här JavaScript-motorn och utökar den till att fungera utanför webbläsarens område. Nod.js binder JavaScript med ditt operativsystems API så att det kan köras på servern (eller i händelse av en utvecklare, på hans / hennes skrivbord). Ja, det betyder att du kan implementera serverapplikationer, skrivbordsapplikationer och back-end-mekanismer genom att lära dig bara ett språk - JavaScript.

Enkelt uttryckt kan du skriva .js filer som innehåller program skrivna i JavaScript-syntax som tolkas av Node.js ungefär på samma sätt som .py filer med giltig syntax tolkas / körs av pythontolk.

Det finns mer än bara att kunna språket, dock Node.js har okända moduler och koncept som kräver tålamod i en oändlig cykel för att lära sig nya koncept. Den har sin egen pakethanterare (npm), version manager (nvm) och världens största paketregister. Var säker, den inledande svårigheten kommer att göra ditt liv mycket lättare på lång sikt.

Installation

För närvarande finns det två alternativ för Node.js-versioner som du kanske vill överväga.

Vi kommer att hålla fast vid LTS-versionen. Nedladdning av nod från den officiella webbplatsen för ditt operativsystem skulle också installera Node Package Manager (npm). Det är svårt att prata om Node.js utan att komma in i npm. Vi kommer tillbaka till pakethanteraren senare. Om du använder Ubuntu eller någon annan debian distro använder du helt enkelt:

$ sudo apt installera nodejs

Besök den officiella nedladdningssidan för alla binära filer och källkoden.

Det är det med installationen, tid att säga ”Hej världen!”

Hej världen! Och skapa en server

Som lovat kommer vi att skapa en Hej.js filen och kör den med Node. I en vanlig textfil, kallad Hej.js, vi skriver följande rad:

trösta.log (“Hej, Värld!”);

Spara nu filen och öppna en terminal i samma katalog som den filen och kör följande kommando:

$ node hej.js
# Eller så kan du springa
$ node hej

Detta ger dig önskad effekt av "Hej världen". Precis som vanilj JavaScript. Men säkert kan vi göra bättre ..

Till skillnad från PHP-baserade applikationer som kräver att Apache eller Nginx eller något annat webbserverprogram körs ovanpå, i nod skriver vi våra egna http-rutter, konfigurerar portarna och värdnamnen och bearbetar HTTP-förfrågningar för att ge lämpliga svar.

Låter som en hel del arbete, men det är bara ett inledande hinder i inlärningskurvan, och när du förstår saker, kommer du att kunna förstå webbapplikationer i större djup än någonsin tidigare. Låt oss skapa en webbserver som lyssnar på port 3000 på localhost och returnerar en textfil som svar. Skapa en fil app.js med följande innehåll:

const http = kräver ('http');
const värdnamn = '127.0.0.1 ';
const port = 3000;
const server = http.createServer ((req, res) =>
res.statusKod = 200;
res.setHeader ('Content-Type', 'text / plain');
res.slut ('Hello World \ n');
);
server.lyssna (port, värdnamn, () =>
trösta.log ('Server som körs på http: // $ hostname: $ port /');
);

Innan vi kommer in i detaljerna i koden, spara den här filen och öppna en terminal i samma katalog som filen och kör sedan:

$ node-app

Detta kommer att köra innehållet i app.js fil och du får en utdata enligt följande:

Öppna en webbläsare och besök http: // localhost: 3000 / eller http: // 127.0.0.1: 3000 / för att se en enkel Hello World-text i webbläsarfönstret.

Så vad gjorde vi bara? Tja, om du känner till JavaScript kan du förmodligen förstå något av det ..

De Första linjen importerar http-modulen, som är en inbyggd modul som följer med Node, och det hjälper oss att lyssna på webbuttag för förfrågningar, behandla http-förfrågningar och ge lämpliga svar.

De andra och tredje raden ställer in värdnamn till 127.0.0.1 ' och hamn  till 3000. Det betyder att vi kan fortsätta att återanvända variabeln värdnamn och hamn, istället för att skriva ut hela IP-adressen. Senare, när du faktiskt distribuerar den på en server, kommer du att ersätta den med serverns IP-adress och ett portnummer som 80 eller 443 om det är en webbserver. Nyckelordet konst säkerställer att variabeln inte kan ändras någon annanstans i programmet.

De rader fyra till åtta  skapar ett serverobjekt som tar begäran som krav och ger svar som res.

Svaret har ett statusCode-attribut, det res.statusKod vilket är inställt på 200 vilket klienten tolkar som "Okej" -status. Felkoder är 400 och 500, till exempel är fel 404 kod för resurs som inte hittades. På samma sätt är attributet setHeader inställt på "text / vanlig" vilket innebär att klienten kommer att få vanlig text. Du kan ställa in detta till HTML och din webbläsare kommer att göra alla giltiga html som servern svarar med. Och den slutet attribut är helt enkelt texten som vi vill returnera. I stället för att ha en sträng här kommer verkliga applikationer att ha en statisk HTML-fil eller en annan .js fil för klientens webbläsare, vilket skulle utgöra ett mycket mer användbart svar.

Slutligen, de sista tre raderna startar servern och skriver ut ett meddelande som säger att den är aktiv på ett visst värdnamn och portnummer enligt inställningen av konst uttalanden, inledningsvis. Varje gång en ny begäran kommer in på det angivna värdnamnet: portkombinationsservern ger svar med lämpligt svar objekt.

Vad det innebär?

Du behöver inte förstå ovanstående kod i sin helhet för att känna till konsekvenserna. Vi har redan JavaScript på fronten tack vare fantastiska ramar som Angular och React. Tillsammans med det har vi också back-end-funktioner bakade i noden.js etos.

Webbramar som Express.js kan hjälpa dig att skriva ännu mer komplex applikation ovanpå Node.js. Hämtning av data från databas, skapande av API: er och front-end UI kan skrivas på ett språk.

Kraften i V8

Trots att allt är ett enda språk finns det fortfarande mycket att lära sig. Olika ramar och moduler har olika funktioner. Det finns massor av versioner att hålla koll på. Så finns det någon annan fördel med att använda noden.js ekosystem.

Ett av de viktigaste argumenten till stöd för det är att V8-motorn har ett utmärkt stöd för asynkron, icke-blockerande I / O. Vilket i grund och botten betyder att det en enda process som körs i ditt systemminne kan hantera flera inkommande förfrågningar. Det betyder ungefär att om en begäran behandlas och en annan begäran kommer in, har Node möjlighet att börja behandla den nya begäran även om första begäran är ännu inte klar.

Dessutom är en enda process som körs i ditt minne ansvarig för att hantera alla inkommande förfrågningar. Till skillnad från PHP-baserade applikationer som skapar en ny process för varje ny inkommande begäran.

Förhoppningsvis var denna introduktion tillräcklig för att få dig motiverad om Node.js. Låt oss veta om du vill ha mer ingående tutorials om liknande ämnen genom att följa oss på Twitter, Facebook och YouTube.

Bästa Linux Distros för spel 2021
Linux-operativsystemet har kommit långt från sitt ursprungliga, enkla, serverbaserade utseende. Detta operativsystem har förbättrats enormt de senaste...
Hur du fångar och strömmar din spelsession på Linux
Tidigare betraktades spel bara som en hobby, men med tiden såg spelindustrin en enorm tillväxt när det gäller teknik och antalet spelare. Spelpubliken...
Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...