Node.js har blivit ett av de mest populära valen för utveckling på serversidan sedan den första lanseringen för över ett decennium sedan. Även om det fortfarande är relativt nytt jämfört med PHP och andra backend-tekniker, har det antagits allmänt av tekniska jättar som LinkedIn, PayPal, Netflix och mer.
Den här artikeln kommer att lära dig hur du kan bygga och köra din egen webbserver med Node.js och webbramverket Express.js.
Teknologier och paket inblandade
Node.js är en JavaScript-runtime byggd på Chromes V8-motor som låter dig köra JavaScript-kod utanför webbläsaren. Traditionellt används programmeringsspråket JavaScript för att manipulera Document Object Model (DOM) och lägga till interaktivitet till webbplatser.
På grund av detta var JavaScript-koden begränsad till att köras enbart i webbläsaren eftersom DOM endast finns på webbsidor. Med Node.js kan du köra JavaScript på kommandoraden och på servrar. Därför är det viktigt att installera Node.js och npm på din maskin innan du sätter igång.
Å andra sidan är Express.js ett minimalistiskt webbramverk som har blivit de facto backend-ramverket för Node.js. Express.js är dock inte en nödvändighet. Du kan fortfarande använda den inbyggda http modul av Node.js för att bygga din server. Express.js är byggt ovanpå http modul och ger ett enklare API med alla nödvändiga konfigurationer.
Bygga en webbserver
För att bättre organisera din kod kan du börja med att skapa en mapp där alla filer och beroenden kommer att finnas. Eftersom Express.js inte är en inbyggd Node.js-modul, måste du installera den med npm.
För att installera Express.js-paketet, kör kommandot npm installera express på din terminal eller kommandotolk. Se till att du är inne i projektkatalogen innan du installerar.
När du är klar kan du öppna mappen med en textredigerare eller IDE som du väljer och skapa en ny fil med namnet server.js. För att använda Express.js-paketet måste du först importera och skapa en instans av det inuti server.js fil så här:
const express = require('express');
const app = express();
Huvudsyftet med en webbserver är att svara på förfrågningar som kommer in från olika rutter med lämplig hanterarfunktion. Denna kod hanterar alla GET-förfrågningar som görs till roten (“/”) sökväg och svarar med “Hello World!”
app.get('/', (req, res) => {
res.send('<h1>Hello World</h1>');
});
På samma sätt kan du visa dynamiskt innehåll och utföra andra åtgärder beroende på sökvägen och typen av begäran du gör. Detta kan göras med hjälp av ruttparametrar, betecknade med semikolon : framför parametern.
app.get('/:name', (req, res) => {
res.send(`<h1>Welcome to ${req.params.name}!</h1>`);
};
I båda exemplen ovan representerar den första raden användningen av .skaffa sig() metod för Express.js som tar in 2 parametrar: slutpunkten eller rutten och en återuppringningshanterarefunktion som tar förfrågningar och svarsobjekt som parametrar. Dessa 2 parametrar skickas automatiskt när du gör en förfrågan.
På den andra raden görs svaret genom .skicka() metod på responsobjektet. Inom parentesen kan du skriva in vilken text eller HTML du vill. När det gäller dynamiska rutter, åtkomst req.params.name (eftersom du har använt /:namn) för förfrågningsobjektet kommer att returnera värdet för parametern dynamisk rutt (namn I detta fall.)
Slutligen, för att börja lyssna på inkommande förfrågningar på en port, kan du använda .lyssna() metod som tar portnumret och en valfri återuppringningsfunktion för att köras vid framgångsrik exekvering.
app.listen(5000, console.log('Server is running on port 5000'));
Jag har använt port 5000 i exemplet, men du kan ändra den till vilken giltig port som helst. Det är all kod du behöver för att bygga en grundläggande webbserver med Node.js och Express.js. Samma koncept kan utökas ytterligare för att göra andra önskemål som t.ex POSTA, SÄTTA, eller RADERA till andra vägar. Här är hur server.js filen kommer att se ut så här:
Testar servern
För att köra koden och starta servern, kör nodserver kommandot på din terminal eller kommandotolken i projektkatalogen. Detta kommer att utföra återuppringningsfunktionen som du angav på .lyssna() metod.
För att bekräfta att servern fungerar, öppna en webbläsare och besök http://localhost:5000
Likaså om du besöker en dynamisk rutt som t.ex http://localhost:5000/muo, kommer den andra hanterarfunktionen att köras och visa:
För att stoppa servern, tryck Ctrl + C på Windows eller Cmd + C på macOS.
Node.js kan göra mer
JavaScripts popularitet ökar kraftigt eftersom utvecklare använder det både på frontend och backend. Detta eliminerar behovet av att lära dig flera programmeringsspråk och hjälper dig att kickstarta din resa som en full-stack webbutvecklare som endast använder JavaScript.
Om du bestämmer dig för att du hellre vill ge Googles programmeringsspråk en Go, är att bygga en grundläggande webbserver ett bra startprojekt.
Om författaren
Nitin Ranganath (39 artiklar publicerade)
Nitin är en ivrig mjukvaruutvecklare och en datoringenjörsstudent som utvecklar webbapplikationer med JavaScript-teknik. Han arbetar som frilansande webbutvecklare och gillar att skriva för Linux och programmering i sin free tid.
Mer från Nitin Ranganath
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
