Med Node.js kan du lägga till funktioner på serversidan till dina applikationer med hjälp av JavaScript (JS).
Innan Node.js introducerades 2009 erkändes JavaScript som ett frontend-programmeringsspråk, vilket innebar att det endast användes för att hantera aspekter av en webbapplikation som var synlig för användaren.
Node.js är en spelväxlare. Det tillåter utvecklare att använda JavaScript som ett språk på serversidan, vilket effektivt förvandlar JavaScript från frontend till full-stack.
Vad är Node.js?
Det är viktigt att förstå att Node.js inte är ett programmeringsspråk, utan en körtidsmiljö för ett programmeringsspråk. Node.js är en paketerad programvara på serversidan som innehåller fördefinierade processer för att utföra specifika uppgifter.
Som en server-side runtime exekveras varje Node.js-process på en server; i huvudsak arbetar med backend-aspekten av en applikation för att hantera data. Om du till exempel vill lagra vissa data i en fil eller en databas, måste du använda ett språk eller en applikation på serversidan.
Node.js är märkt som en JavaScript-runtime-miljö eftersom den använder JavaScript för att utföra backend-processer.
Vad gör Node.js speciell?
Om du är bekant med JavaScript bör du veta att det är ett språk på klientsidan, så det gör det möjligt för dig att klicka på en knapp och skicka in viss information i ett formulär. Det är dock så långt det går; för att den informationen ska lagras i en fil eller en databas måste i allmänhet något annat språk ta över.
Node.js är så speciellt eftersom det ger utvecklare de verktyg som behövs för att ansluta till en fil eller databas och lagra data som ursprungligen skickades in från det formuläret.
Innan Node.js skulle en utvecklare behöva känna till JavaScript tillsammans med andra programmeringsspråk för backend — som Java eller Python — för att kallas fullstackutvecklare. Idag kan en fullstackutvecklare välja att bara lära sig JavaScript och ändå kunna utveckla kompletta webbplatser och applikationer.
Hur fungerar Node.js?
Node.js är byggt på V8 JavaScript-motorn, som används för att kompilera och köra JavaScript-källkod. Så när du kör ett JS-skript med Node.js skickas den koden initialt till V8 JavaScript-motorn. V8 JavaScript-motorn kompilerar sedan skriptet och skickar resultatet av kompileringen tillbaka till Node.js där det kan användas i applikationen.
Varför använda Node.js?
Node.js är en ganska populär backend-teknik som används av stora företag som Netflix och Uber. Det råder ingen tvekan om att Node.js-utvecklare är efterfrågade. Så varför är denna teknik så populär?
Node.js använder en icke-blockerande I/O-modul, där I/O står för input och output. Denna kritiska egenskap är en av anledningarna till teknikens popularitet. Node.js är icke-blockerande betyder att medan en I/O-operation körs, ges åtkomst till andra aspekter av applikationen som för närvarande utför denna I/O-operation.
För sammanhang, överväg exemplet med att använda en databas med en webbapplikation. Om en användare ville hämta omfattande data från denna databas (en process som kommer att ta lite tid) skulle alla andra funktioner i denna applikation (som att klicka på en slumpmässig knapp) inaktiveras tills I/O-operationen är klar om Node.js inte var inte använder en icke-blockerande I/O-modul.
Skapa ett Node.js-skript
En grundläggande egenskap hos Node.js är dess nodmodulsystem. Detta är en samling av olika Node.js-applikationsprogrammeringsgränssnitt som kan användas för att utföra alla uppgifter, från att skriva ut data till en konsol till att lagra data i en fil.
En av de mest populära Node.js-modulerna är filsystemmodulen. Det låter utvecklaren skapa och kommunicera med filer på vilken maskin som helst.
Använda filsystemsmodulexemplet
// import the file system module
const fs = require('fs');
//create a new text filed called task and store the sthing "buy groceries" to it
fs.writeFile('tasks.txt', 'buy groceries', (error) =>{
if (error) throw error;
console.log('The file has been saved.')
});
För att använda filsystemmodulen i dina Node.js-projekt måste du först importera den här modulen. I Node.js representeras filsystemmodulen av akronymen fs. Så genom att bara passera fs till önskad funktion (som visas i koden ovan), har du nu tillgång till filsystemmodulen.
Filsystemmodulen skickas till variabeln som kallas fs, vilket kan vara vilket namn du än tycker är lämpligt. Det namnet valdes eftersom det exakt representerar vad som kommer att lagras i fs variabel.
Filsystemmodulen har en omfattande lista med funktioner; den som används i koden ovan kallas skrivFil. De skrivFil funktion tar tre argument: ett filnamn, data som ska lagras i filen och en återuppringningsfunktion.
Återuppringningsfunktionen tar ett felargument som bara är tillgängligt om ett problem uppstår när man försöker köra skrivFil fungera.
Exekvera ett Node.js-skript
För att köra ett Node.js-skript behöver du bara veta namnet på filen som detta skript är lagrat i. Node.js är skrivet i JavaScript; därför måste varje Node.js-kod lagras i en JavaScript-fil för att kunna köras.
Koden ovan lagras i en fil som heter index.js. Så för att köra filen ovan (förutsatt att Node.js redan är installerat på din maskin) måste du starta en terminal/konsol och CD till den direkta mappen som innehåller filen index.js. Efter att du har fått direkt tillgång till filen index.js skriver du helt enkelt in följande kodrad i din konsol.
node index.js
Att köra kodraden ovan ger följande resultat i konsolen.
The file has been saved.
Det betyder att en ny textfil anropas uppgifter som innehåller texten “köp matvaror”, har skapats och kan hittas på din dator i mappen som innehåller filen index.js.
Nu kan du utföra operationer på serversidan i JavaScript
En stor del av den här artikeln är hur Node.js har revolutionerat användningen av JavaScript; på grund av Node.js kan JavaScript-utvecklare nu kännas igen som backend- eller till och med full-stack-utvecklare.
Som JavaScript-utvecklare kan du nu skapa och köra processer på serversidan (som att skapa en fil och lagra data till den), med hjälp av Node.js.
Nu återstår bara att bestämma om du vill vara en backend-, frontend- eller fullstack JavaScript-utvecklare.
Om författaren
Kadeisha Kean (39 artiklar publicerade)
Kadeisha Kean är en full-stack mjukvaruutvecklare och teknisk/teknikskribent. Hon har den distinkta förmågan att förenkla några av de mest komplexa tekniska koncepten; producera material som lätt kan förstås av alla nybörjare. Hon brinner för att skriva, utveckla intressant programvara och att resa runt i världen (genom dokumentärer).
Mer från Kadeisha Kean
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
