Introduktion till ExpressJS [+6 Learning Resources]

By rik

ExpressJS framstår som ett lättviktigt och anpassningsbart webbramverk för Node.js, designat för att erbjuda en mångsidighet av funktioner för utveckling av både mobil- och webbaserade applikationer.

Detta öppen källkodsramverk, skapat av TJ Holowaychuk, underhålls nu av Node.js Foundation.

Varför välja ExpressJS?

ExpressJS tillhandahåller lättanvända API:er som underlättar för utvecklare att skapa server-sidor, webbapplikationer och hemsidor. Det kan jämföras med Django för Python och Rails för Ruby.

I motsats till Django och Rails, som föreskriver en specifik metod för att bygga API:er/applikationer, utmärker sig ExpressJS med sin flexibilitet och modulära design. Det saknar en fast ”bästa praxis”, vilket ger utvecklare frihet att anpassa sin utvecklingsprocess.

Sammanfattningsvis, här är några avgörande anledningar till varför ExpressJS är ett utmärkt val:

  • Förenklar skapandet av API:er och webbapplikationer.
  • Erbjuder robusta API:er, vilket gör routing lättare.
  • Är asynkront och använder en enda tråd.

Funktioner i ExpressJS

#1. En Central Del av MEAN-stacken

JavaScript har behållit sin status som ett av de mest använda programmeringsspråken, tack vare ramverk som gör det möjligt att arbeta med både frontend och backend av fullstack-applikationer.

Många JavaScript-utvecklare använder MEAN-stacken, som står för MongoDB, Express, Node.js och AngularJS, för att utveckla fullstack-applikationer. Andra föredrar MERN-stacken, som inkluderar Reactjs istället för AngularJS. Oavsett valet förblir ExpressJS en konstant komponent.

#2. Anpassningsbart och Effektivt

ExpressJS är designat med minimalism i åtanke, vilket gör att du inte behöver navigera genom komplexa delar av ett större ramverk. Dess effektiva routingsystem, direkta stöd för innehållsförhandling och mellanprogram gör utvecklingsprocessen snabbare.

#3. Skalbarhet

Applikationer som är utvecklade med ExpressJS är lätt att skala, vilket är en anledning till dess popularitet bland företag. För storskaliga applikationer kräver ExpressJS minimal extra konfiguration. Det stora utbudet av moduler, paket och resurser gör det enkelt att utveckla storskaliga projekt.

#4. Användning av Mellanprogram

ExpressJS har en rad mellanprogram som snabbar upp och förbättrar utvecklingsprocessen. Mellanprogram tillåter ramverket att exekvera skript före eller efter en klientförfrågan. Detta gör det enklare för utvecklare att kontrollera klientinteraktioner som registreringar, inloggningar och utloggningar.

#5. Avancerat Routingsystem

ExpressJS:s routingsystem tillåter utvecklare att skapa robusta API:er som hanterar de flesta HTTP-förfrågningar. Du kan strukturera din kod i hanterbara filer med hjälp av routerinstansen. Dessutom kan du organisera olika rutter i specifika kataloger för bättre applikationshantering.

Arkitekturen i ExpressJS

Bildkälla: turing.com

En typisk ExpressJS-applikation består av följande element:

  • Beroenden. ExpressJS i sig är ett beroende. Ytterligare beroenden installeras med hjälp av npm-kommandot.
  • Mellanprogram. I ExpressJS-kontext är mellanprogram funktioner som hanterar förfrågan/svar-cykeln.
  • Instansieringar. Det är de utsagor som används för att skapa objekt.
  • Konfigurationer. Detta är anpassade inställningar, antingen definierade efter instansiering eller i en separat fil.
  • Rutter. Rutter är de slutpunkter som klienter använder för att komma åt specifika resurser eller utföra definierade operationer på servern.
  • Start av server. Funktionen `app.listen()` används för att starta utvecklingsservern.

Komma igång med ExpressJS

ExpressJS körs ovanpå Node.js, vilket innebär att du först behöver installera det på din dator.

Du kommer också att behöva Node Package Manager (npm) för att hantera dina beroenden.

Node.js kan laddas ned från den officiella webbplatsen, med anpassning till ditt operativsystem.

När installationen är klar, kontrollera att Node och npm är korrekt installerade med dessa kommandon:

node --version
npm --version

Installera ExpressJS

Följ dessa steg:

  • Skapa en grundläggande ExpressJS-app. Du kan göra det manuellt eller via dessa kommandon:
mkdir myapp
cd myapp
  • Generera en `package.json`-fil med detta kommando:
npm init
  • Följ anvisningarna som visas. Du kan ändra ingångspunkten från (index.js) till app.js
  • Installera ExpressJS med detta kommando:
npm install express
  • Skriv ut ”Hello World”

I rotkatalogen, skapa en fil och namnge den `app.js`

Lägg till denna kod:

const express = require('express')

const app = express()

const port = 3000

app.get('/', (req, res) => {

  res.send('Hello World!')

})

app.listen(port, () => {

  console.log(`Example app listening on port ${port}`)

})

Starta den lokala servern med detta kommando:

node app.js

Besök http://localhost:3000/ i din webbläsare för att se resultatet.

Express Application Generator

Applikationen som vi skapade manuellt ovan är enkel. Du kan använda Express-generatorn för att snabbare skapa en ExpressJS-app.

  • Använd detta kommando för att generera din ExpressJS-app:
npx express-generator
  • Om du har en Node.js-version äldre än 8.2.0, installera generatorn och kör den med dessa kommandon:
npm install -g express-generator
express
express --view=pug myapp

Ovanstående kommando skapar en applikation som heter ”myapp”.

  • Installera de nödvändiga beroendena med dessa kommandon:
cd myapp

npm install
  • Starta utvecklingsservern beroende på ditt operativsystem:

I Windows PowerShell:

PS> $env:DEBUG='myapp:*'; npm start

I Windows Kommandotolken:

> set DEBUG=myapp:* & npm start

I macOS eller Linux:

DEBUG=myapp:* npm start

Navigera till http://localhost:3000/ i webbläsaren för att se resultatet:

#1. Fintech-applikationer

Banker och finansinstitut genomgår en digital transformation, vilket driver efterfrågan på fintech-applikationer. Dessa applikationer underlättar finansiella tjänster och bankverksamhet. ExpressJS har bevisat sitt värde som ett kraftfullt ramverk för utveckling av skalbara fintech-applikationer.

#2. En-sida-applikationer

En-sida-applikationer, där hela applikationen körs på en enda sida, har blivit ett modernt sätt att utveckla webbapplikationer. Framstående mobil- och webbapplikationer som Airbnb, Netflix, Pinterest, PayPal, Gmail och Google Maps exemplifierar en-sida-applikationer. ExpressJS erbjuder ett passande ramverk för att skapa en-sida-applikationer med enkel routing.

#3. Streamingapplikationer

Applikationer som Spotify och Netflix kan se enkla ut för användare, men dessa är komplexa och hanterar flera datalager. ExpressJS är ett effektivt val för att hantera asynkrona dataströmmar och utveckla sådana applikationer.

#4. Samarbetsverktyg i Realtid

Dagens arbetsmiljöer involverar samarbeten kring olika uppgifter. ExpressJS erbjuder funktioner som stöder utvecklingen av samarbetsverktyg. Ramverket är även användbart för att bygga instrumentpaneler och chattapplikationer i realtid tack vare enkel integration med WebSockets.

Fördelar med ExpressJS

  • Gratis och öppen källkod. ExpressJS är kostnadsfritt att använda och dess kod kan modifieras för att anpassas till specifika behov.
  • Lättanvänt. ExpressJS tillåter kodning utan komplexa processer. Ramverket har många inbyggda verktyg och funktioner för att förenkla utvecklingen.
  • Snabb utveckling. ExpressJS erbjuder olika mallar som minskar behovet av att skapa allt från grunden.
  • Hög prestanda. Appar byggda med ExpressJS presterar väl, och kan användas för både mindre och storskaliga företagsapplikationer.

Nackdelar med ExpressJS

  • Vissa felmeddelanden är inte tillräckligt informativa. Till skillnad från andra backend-ramverk, indikerar 404-svar inte nödvändigtvis ett fel.
  • Kan vara svårt att organisera koden, eftersom det saknas tydliga ”bästa praxis”.

Lärmaterial för ExpressJS

#1. Node.js, Express, MongoDB och mer

Denna kurs är lämplig för dem som vill lära sig hela backend-stacken från en enda resurs. Efter avslutad kurs kan du skapa snabba och skalbara RESTful API:er med ExpressJS och andra associerade tekniker.

#2. Bara Express

Denna kurs riktar sig till de som vill använda Express Server som ett REST API. Den lär dig även grunderna i HTTP och förklarar förfrågan/svar-cykeln på ett enkelt sätt.

#3. React, NodeJS, Express & MongoDB

Denna MERN full-stack-kurs är idealisk om du vill lära dig att bygga full-stack-applikationer i JavaScript. Du kommer bland annat lära dig att koppla ReactJS med NodeJS, Express & MongoDB, samt implementera autentisering och auktorisering.

#4. Express in Action: Skriva, Bygga och Testa Node.js-Applikationer

Express in Action är en bok som beskriver stegen för att bygga webbapplikationer med Node och ExpressJS. Du lär dig hur du konfigurerar en ExpressJS-app, hanterar datalagring med MongoDB och testar Express-appar.

#5. Express.js: Guidebok om Webbramverk för Node.js

Express.js: Guidebok om webbramverket för Node.js erbjuder en djupgående undersökning av ExpressJS webbramverk. Diskussionerna i boken utgår från olika modeller som ExpressJS tillhandahåller användare.

#6. ExpressJS Officiella Dokumentation

ExpressJS är ett väl dokumenterat Node.js-ramverk, och den officiella dokumentationen är en bra resurs oavsett om du är nybörjare eller avancerad utvecklare.

Sammanfattning

ExpressJS är ett av de mest populära Node.js webbramverken i dag. Dess kraftfulla funktioner och enkel inlärningskurva har bidragit till dess långvariga popularitet. ExpressJS fungerar som grund för Node.js, vilket innebär att en god förståelse av ramverket underlättar inlärning av relaterade tekniker.