NodeJS

Hvad er NodeJS?

Hvad er NodeJS?

I denne vejledning kommer vi i gang med Node.js. Lær om nogle af de mest populære funktioner og vil forsøge at motivere læserne til at anvende denne vidunderlige teknologi til deres fremtidige projekter. Som en forudsætning skal du bare have en gennemgående kendskab til JavaScript og generiske programmeringskoncepter, såsom variabler, datatyper og funktioner.

JavaScript har en underlig historie. Det startede som et let script-sprog for webbrowsere og blev mere behandlet som et 'legetøj' end et seriøst programmeringssprog. Men det er længe siden vokset fra sin ydmyge begyndelse.

Folk begyndte at udvide sine muligheder, da Google open-sourcede Chrome's JavaScript-tolk - V8-motoren. Node.js tager denne JavaScript-motor og udvider den til at fungere uden for browserens område. Node.js binder JavaScript med dit operativsystems API, så det kan køre indbygget på serveren (eller i tilfælde af en udvikler på hans / hendes desktop). Ja, det betyder, at du kan implementere server-applikationer, desktop applikationer og back-end mekanismer ved kun at lære et sprog - JavaScript.

Kort sagt, du kan skrive .js filer, der indeholder programmer skrevet i JavaScript-syntaks, som fortolkes af Node.js meget på samme måde som .py filer med gyldig syntaks fortolkes / udføres af python-tolk.

Der er mere til det end bare at kende sproget, dog Node.js har ukendte moduler og koncepter, der kræver tålmodighed i en uendelig cyklus med at lære nye koncepter. Den har sin egen pakkehåndtering (npm), version manager (nvm) og verdens største pakkeregister. Vær sikker på, den indledende vanskelighed vil gøre dit liv meget lettere i det lange løb.

Installation

I øjeblikket er der to muligheder for Node.js-versioner, som du måske vil overveje.

Vi vil holde fast i LTS-versionen. Hvis du henter node fra det officielle websted til dit operativsystem, installeres også Node Package Manager (npm). Det er svært at tale om Node.js uden at komme ind i npm. Vi vender tilbage til pakkehåndtereren senere. Hvis du bruger Ubuntu eller en anden debian distro, skal du blot bruge:

$ sudo apt installere nodejs

Besøg den officielle download-side for alle binære filer og kildekoden.

Det er det med installation, tid til at sige, ”Hej verden!”

Hej Verden! Og oprettelse af en server

Som lovet opretter vi en Hej.js fil og køre den ved hjælp af Node. I en almindelig tekstfil, kaldet Hej.js, vi skriver følgende linje:

konsol.log (“Hej, Verden!”);

Gem nu filen, og åbn en terminal i samme bibliotek som den fil, og kør følgende kommando:

$ node hej.js
# Eller du løber muligvis
$ node hej

Dette giver dig den ønskede output af "Hej Verden". Ligesom vanille JavaScript. Men helt sikkert kan vi gøre det bedre ..

I modsætning til PHP-baserede applikationer, der kræver Apache eller Nginx eller et andet web-serverprogram til at køre ovenpå, i node skriver vi vores egne http-ruter, konfigurerer porte og værtsnavne og behandler HTTP-anmodninger for at give passende svar.

Lyder som meget arbejde, men det er kun en indledende forhindring i læringskurven, og når du først har fået fat i tingene, vil du være i stand til at forstå webapplikationer i større dybder end nogensinde før. Lad os oprette en webserver, der lytter til port 3000 på localhost og returnerer en tekstfil som et svar. Opret en fil app.js med følgende indhold:

const http = kræve ('http');
const hostname = '127.0.0.1 ';
const port = 3000;
const server = http.createServer ((req, res) =>
res.statusKode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.slutning ('Hello World \ n');
);
server.lyt (port, værtsnavn, () =>
konsol.log ('Server kører på http: // $ hostname: $ port /');
);

Inden vi går ind i detaljerne i koden, skal du gemme denne fil og åbne en terminal i samme bibliotek som filen og derefter køre:

$ node-app

Dette udfører indholdet af app.js fil, og du får en output som følger:

Åbn en webbrowser og besøg http: // localhost: 3000 / eller http: // 127.0.0.1: 3000 / for at se en simpel Hello World-tekst i dit browservindue.

Så hvad gjorde vi bare? Nå, hvis du er fortrolig med JavaScript, kan du sandsynligvis give mening om noget af det ..

Det første linje importerer http-modulet, som er et indbygget modul, der følger med Node, og det hjælper os med at lytte på websockets for anmodninger, behandle http-anmodninger og give passende svar.

Det anden og tredje linje indstiller værtsnavn til 127.0.0.1 ' og Havn  til 3000. Dette betyder, at vi kan fortsætte med at genbruge variablen værtsnavn og Havn, i stedet for at indtaste hele IP-adressen. Senere, når du faktisk implementerer den på en server, vil du erstatte den med serverens IP-adresse og et portnummer som 80 eller 443, hvis det er en webserver. Nøgleordet konst sikrer, at variablen ikke kan ændres andetsteds i programmet.

Det linjer fire til otte  opretter et serverobjekt, der tager anmodning som rek og giver svar som res.

Svaret har en statusCode-attribut til det, den res.statusKode som er indstillet til 200, som klienten fortolker som "Okay" -status. Fejlkoder er 400 og 500, for eksempel er Fejl 404 kode for ressource, der ikke blev fundet. På samme måde er attributten setHeader indstillet til 'tekst / almindelig', hvilket betyder, at klienten modtager almindelig tekst. Du kan indstille dette til HTML, og din browser gengiver enhver gyldig html, som serveren reagerer med. Og ende attribut er simpelthen den tekst, vi vil returnere. I stedet for at have en streng her vil applikationer i den virkelige verden have en statisk HTML-fil eller en anden .js fil til klientbrowseren, hvilket ville udgøre et meget mere nyttigt svar.

Endelig blev sidste tre linjer starter serveren og udskriver en besked, der siger, at den er aktiv på et bestemt værtsnavn og portnummer som angivet af konst udsagn, oprindeligt. Hver gang en ny anmodning kommer ind på det angivne værtsnavn: portkombinationsserver giver svar med passende respons objekt.

Hvad det indebærer?

Du behøver ikke at forstå ovenstående kode i sin helhed for at kende konsekvenserne. Vi har allerede JavaScript på frontend takket være fantastiske rammer som Angular og React. Sammen med det har vi også back-end-funktioner bagt ind i noden.js ethos.

Webrammer som Express.js kan hjælpe dig med at skrive endnu mere kompleks applikation oven på Node.js. Hentning af data fra databasen, oprettelse af API'er og front-end UI kan alle skrives på et sprog.

Kraften i V8

På trods af at det hele er et enkelt sprog, er der stadig meget at lære. Forskellige rammer og moduler har forskellige funktioner. Der er et ton versioner at holde styr på. Så er der nogen anden fordel ved at bruge noden.js økosystem.

Et af de vigtigste argumenter til støtte for det er, at V8-motoren har en fremragende understøttelse af asynkron, ikke-blokerende I / O. Hvilket grundlæggende betyder, at det en enkelt proces, der kører på din systemhukommelse, kan håndtere flere indgående anmodninger. Det betyder stort set, at hvis en anmodning behandles, og en anden anmodning kommer ind, har Node muligheden for at begynde at behandle den nye anmodning, selvom første anmodning er endnu ikke afsluttet.

Desuden er en enkelt proces, der kører i din hukommelse, ansvarlig for håndtering af al den indgående anmodning. I modsætning til PHP-baserede applikationer, der skaber en ny proces for hver nye indgående anmodning.

Forhåbentlig var denne intro nok til at få dig motiveret omkring Node.js. Lad os vide, om du vil have mere dybtgående tutorials om lignende emner ved at følge os på Twitter, Facebook og YouTube.

Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....
Bedste spil at spille med håndsporing
Oculus Quest introducerede for nylig den gode idé om håndsporing uden controllere. Med et stadigt stigende antal spil og aktiviteter, der udfører supp...