Introduktion
Webbserverprogrammering med Node och Express
Last updated
Was this helpful?
Webbserverprogrammering med Node och Express
Last updated
Was this helpful?
Node.js (Node) Àr en server. Beskrivningen pÄ krÀver dock sin förklaring.
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.
Node Àr byggt pÄ en javascriptmotor () för att kunna anvÀnda Javascript pÄ en server. Node kan fungera som en en webbserver och fyller samma roll som webbservern Apache i .
Den hÀr guiden utgÄr frÄn materialet kring . Den version som kommer att anvÀndas Àr 14, vilket Àr Nodes Long Term Support (LTS) version. För att installera version 14 av Node gÄr det inte att köra apt install node direkt.
Kontrollera sedan den installerade versionen av Node, bör vara 14.x.
Med node följer Node Package Manager (npm), bör vara 6.x.
Kontrollera sedan att det fungerade med.
För att skapa grunden till ett webbprojekt sÄ anvÀnds Express generator.
Skapa en mapp för projektet, gÄ in i mappen och kör Express.
Express generator skapar med detta kommando grund-strukturen för en app. Express generator körs med parametrarna view, css och git.
Node-projekt krÀver i allmÀnhet ett antal NPM-paket för att fungera. Express Àr inget undantag och för att slutföra installationen behöver NPM ladda ned de paket som Express krÀver. Paketen för ett Node-projekt Àr alltid listade i filen package.json. Paketen för Express installationen Àr följande.
NPM installerar paket med följande kommando.
npm install skapar en fil som heter package-lock.json, filen innehÄller information om alla paketen som installerats och de paket som de krÀver för att fungera i sin tur. Om install-kommandot kördes utan fel (vid fel stÄr det npm ERR!) sÄ Àr servern redo.
Nodemon Àr ett paket till Node som underlÀttar utvecklingen av projekt. Det bevakar och lyssnar efter Àndringar i serverns filer. Om filerna sparas (Àndras) sÄ laddas Node om.
Uppdatera package.json.
Starta sedan servern igen.
Visual Studio Code (vscode) kan anvÀndas tillsammans med en sÄ kallad linter för att hitta fel och formatera kod. Eslint Àr en linter för Javascript. Det Àr vÀldigt praktiskt vid arbete med kod och hjÀlper dig som utvecklare att följa praxis och skapa kod av hög kvalité. För att kunna köra Eslint kan det behöva installeras globalt, det gör vi med -g parametern.
För att slutföra installationen av Eslint sÄ behöver en konfigurationsfil skapas. Var noga med att vara i projektmappen nÀr du kör kommandot.
Svara följande:
NPM kommer sedan att frÄga om paketen ska installeras, vÀlj ja.
Eslintrc kan nu redigeras för att Àndra instÀllningarna. För att till exempel Àndra formateringsregler sÄ finns de under rules. En sÄdan regel kan vara att visa fel nÀr semi-kolon saknas.
Till sist sÄ behöver du installera eslint extension (svenska tillÀgg) i Vscode. Extensions finns i sidomenyn.
Sök efter eslint och installera följande tillÀgg.
Applikationens grunder Àr nu installerade tillsammans med ett par verktyg för att underlÀtta utvecklingen. NÀsta steg Àr att titta pÄ Express filstruktur och hur du arbetar med det. Filstrukturen i Express ser ut sÄhÀr efter installationen.
I roten finns app.js och package.json samt en del andra konfigurationsfiler. App.js Àr Node-serverns startpunkt. Detta föregÄs av att start-scriptet i package.json utgÄr frÄn filen www, i bin mappen, som i sin tur ladda app.js.
App.js laddar in serverns routes frÄn routes/ foldern. NÀr en route laddas efter ett anrop till servern sÄ viser de i sin tur HTML-templaten frÄn views/ mappen. Statiska filer finns i public/ mappen, sÄsom css och bilder.
En route Àr den vÀg en request tar i din applikation. AnvÀndaren efterfrÄgar en resurs och i routen sÄ bestÀmmer du vad som ska ske dÄ.
Routerna som skapas av Express generator Àr index och users. Index hanterar anrop till / och users till /users. Applikationens router laddas och kopplas till en adress i app.js.
En view laddas med ett sÄ kallat middleware i app.js. Det sÀtter en path till views-mappen och bestÀmmer vilken templatmotor som ska anvÀndas. Det finns ett stort antal middleware med olika funktioner och det Àr en viktig del av Express. Enkelt sagt sÄ Àr middleware insticksprogram som utökar Express funktion.
För att skapa en route sÄ kan vi redigera filen index.js i routes mappen. Kopiera GET routen för / och klistra in den efter den existerande routen. Routen vi skapar Àr för en GET request till /test och den svarar med text.
Routen ovan finns i index.js filen och Àr kopplad till / och /test. Prova nu att skapa en test router. Kopiera routes/index.js och döp om den till test.js.
Routen behöver sedan kopplas i app.js filen för att den ska kunna anvÀndas.
NÀsta steg Àr att installera Express och Express generator. Àr ett minimalistiskt ramverk för Node. Express underlÀttar skapandet av en webbserver med Node. Express kommer att installeras globalt pÄ systemet, nÄgot som krÀver sudo.
View vÀljer den motor (pÄ engelska template engine), templatmotor, som Express anvÀder. I det hÀr fallet vÀljer vi att inte anvÀnda en motor för detta. DÄ genereras statiska filer som default. Men vi kommer att installera och anvÀnda för detta.
Css vÀljer att Express ska anvÀnda sig av /scss för projektets stilar.
Git skapar en fil i projektet för att undvika att filer som inte ska finnas pÄ Git hamnar dÀr(node_modules mappen bland annat).
Surfa sedan till . Node-servern Àr startad och kan besökas med vÀrddatorns ip-adress och rÀtt port Àven frÄn andra datorer.
I projektets root har Eslint skapat en fil som heter .eslintrc.js med instÀllningarna. Mer information kring Javascript standard style hittar du pÄ .
Routerna innehÄller i sin tur koden för att hantera anropen. Detta system skapar struktur för koden. Koden för index-routen ser ut sÄhÀr, pÄ .
Prova sedan att surfa till , visas din nya route? Annars sÄ behöver du felsöka detta. Har du kvar en /test route i index.js?