NodeJS

Hva er NodeJS?

Hva er NodeJS?

I denne opplæringen kommer vi i gang med Node.js. Lær om noen av de mest populære funksjonene, og vil prøve å motivere leserne til å ta i bruk denne fantastiske teknologien for sine fremtidige prosjekter. Som en forutsetning trenger du bare å ha kjennskap til JavaScript og generiske programmeringskonsepter som variabler, datatyper og funksjoner.

JavaScript har en merkelig historie. Det startet som et lett skriptspråk for nettlesere og ble behandlet mer som et "leketøy" enn et seriøst programmeringsspråk. Men den har for lengst vokst fra sin ydmyke begynnelse.

Folk begynte å utvide funksjonene da Google åpnet Chrome-JavaScript-tolk - V8-motoren. Node.js tar denne JavaScript-motoren og utvider den til å fungere utenfor nettleserens rike. Node.js binder JavaScript med operativsystemets API slik at det kan kjøres naturlig på serveren (eller i tilfelle en utvikler, på hans / hennes skrivebord). Ja, dette betyr at du kan implementere server-side applikasjoner, desktop applikasjoner og back-end mekanismer ved å lære bare ett språk - JavaScript.

Enkelt sagt, du kan skrive .js filer som inneholder programmer skrevet i JavaScript-syntaks som blir tolket av Node.js omtrent på samme måte som .py filer med gyldig syntaks tolkes / utføres av python-tolk.

Det er mer enn bare å kjenne språket, Node.js har ukjente moduler og konsepter som krever tålmodighet i en uendelig syklus med å lære nye konsepter. Den har sin egen pakkebehandling (npm), versjonsbehandling (nvm) og verdens største pakkeregister. Vær trygg, den innledende vanskeligheten vil gjøre livet ditt mye lettere på lang sikt.

Installasjon

For øyeblikket er det to alternativer for Node.js-versjoner som du kanskje vil vurdere.

Vi vil holde oss til LTS-versjonen. Nedlasting av Node fra det offisielle nettstedet for operativsystemet ditt vil også installere Node Package Manager (npm). Det er vanskelig å snakke om Node.js uten å komme inn i npm. Vi kommer tilbake til pakkelederen senere. Hvis du bruker Ubuntu eller annen debian distro, bruk bare:

$ sudo apt installere nodejs

For alle binærfiler og kildekoden, besøk den offisielle nedlastingssiden.

Det er det med installasjon, tid til å si: “Hei, verden!”

Hei Verden! Og lage en server

Som lovet vil vi lage en Hallo.js filen og kjør den ved hjelp av Node. I en ren tekstfil, kalt Hallo.js, vi skriver følgende linje:

konsoll.logg (“Hello, World!”);

Lagre nå filen og åpne en terminal i samme katalog som den filen, og kjør følgende kommando:

$ node hei.js
# Eller du kan løpe
$ node hei

Dette vil gi deg ønsket produksjon av "Hei Verden". Akkurat som vanilje JavaScript. Men sikkert, vi kan gjøre det bedre ..

I motsetning til PHP-baserte applikasjoner som krever Apache eller Nginx eller et annet webserverprogram for å kjøre på toppen, i node skriver vi våre egne http-ruter, konfigurerer portene og vertsnavnene og behandler HTTP-forespørsler for å gi passende svar.

Høres ut som mye arbeid, men det er bare en innledende hindring i læringskurven, og når du først har fått tak i ting, vil du kunne forstå webapplikasjoner i større dybder enn noen gang før. La oss lage en webserver som lytter på port 3000 på localhost og returnerer en tekstfil som svar. Lag en fil app.js med følgende innhold:

const http = krever ('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.slutt ('Hello World \ n');
);
server.lytt (port, vertsnavn, () =>
konsoll.logg ('Server kjører på http: // $ hostname: $ port /');
);

Før vi kommer inn i detaljene i koden, lagrer du denne filen og åpner en terminal i samme katalog som filen, og kjør deretter:

$ node-app

Dette vil utføre innholdet i app.js filen, og du vil få en utdata som følger:

Åpne en nettleser og besøk http: // localhost: 3000 / eller http: // 127.0.0.1: 3000 / for å se en enkel Hello World-tekst i nettleservinduet.

Så hva gjorde vi bare? Vel, hvis du er kjent med JavaScript, kan du sannsynligvis forstå noe av det ..

De første linje importerer http-modulen, som er en innebygd modul som følger med Node, og den hjelper oss å lytte på nettkontakter for forespørsler, behandle http-forespørsler og gi passende svar.

De andre og tredje linje setter vertsnavn til 127.0.0.1' og havn  til 3000. Dette betyr at vi kan fortsette å bruke variabelen vertsnavn og havn, i stedet for å skrive ut hele IP-adressen. Senere, når du faktisk distribuerer 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økkelordet konst sørger for at variabelen ikke kan endres andre steder i programmet.

De linjer fire til åtte  oppretter et serverobjekt som tar forespørsel som krav og gir respons som res.

Svaret har en statusCode-attributt til den, res.statusKode som er satt til 200 som klienten tolker som "Ok" -status. Feilkoder er 400- og 500-tallet, for eksempel er Feil 404 kode for ressurs ikke funnet. På samme måte er setHeader-attributtet satt til 'tekst / vanlig', noe som betyr at klienten vil motta ren tekst. Du kan angi dette til HTML, og nettleseren din vil gjengi gyldig html som serveren reagerer med. Og slutt attributt er ganske enkelt teksten vi ønsker å returnere. I stedet for å ha en streng her, vil virkelige applikasjoner ha en statisk HTML-fil eller en annen .js fil for klientleseren, noe som vil utgjøre et mye mer nyttig svar.

Til slutt, de siste tre linjene starter serveren og skriver ut en melding som sier at den er aktiv på et bestemt vertsnavn og portnummer som angitt av konst uttalelser, innledningsvis. Hver gang en ny forespørsel kommer inn på det angitte vertsnavnet: portkombinasjonsserver gir svar med passende respons gjenstand.

Hva det innebærer?

Du trenger ikke å forstå den ovennevnte koden i sin helhet for å vite implikasjonene. Vi har allerede JavaScript på fronten takket være fantastiske rammer som Angular og React. Sammen med det har vi også back-end-funksjoner bakt i Node.js etos.

Nettrammer som Express.js kan hjelpe deg med å skrive enda mer komplisert program på toppen av Node.js. Å hente data fra databasen, lage API-er og front-end UI kan alle skrives på ett språk.

Kraften til V8

Til tross for at det hele er et enkelt språk, er det fortsatt mye å lære. Ulike rammer og moduler har forskjellige funksjoner. Det er massevis av versjoner å holde styr på. Så er det noen annen fordel med å bruke Node.js økosystem.

Et av de viktigste argumentene til støtte for det er at V8-motoren har en utmerket støtte for asynkron, ikke-blokkerende I / O. Som i utgangspunktet betyr at det en enkelt prosess som kjører på systemminnet kan håndtere flere innkommende forespørsler. Det betyr omtrent at hvis en forespørsel blir behandlet, og en annen forespørsel kommer inn, har Node muligheten til å begynne å behandle den nye forespørselen, selv om første forespørsel er ennå ikke ferdig.

Videre er en prosess som kjører i minnet ditt ansvarlig for å håndtere alle innkommende forespørsler. I motsetning til PHP-baserte applikasjoner som gir en ny prosess for hver nye innkommende forespørsel.

Forhåpentligvis var denne introen nok til å få deg motivert om Node.js. La oss vite om du vil ha mer grundige veiledninger om lignende emner ved å følge oss på Twitter, Facebook og YouTube.

Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...