Introduktion til ExpressJS [+6 Learning Resources]

ExpressJS er en minimalistisk og fleksibel Node.js-webramme, der tilbyder et sæt funktioner til både mobil- og webapplikationer.

Denne open source-webramme blev udviklet af TJ Holowaychuk. ExpressJS vedligeholdes af Node.js Foundation.

Hvorfor ExpressJS?

ExpressJS tilbyder simple API’er til at hjælpe udviklere med at bygge back-ends, webapps og websteder. Denne webramme er således sammenlignelig med Pythons Django og Ruby’s Rails.

Men i modsætning til Django og Rails, som har en meningsfuld måde at bygge API’er/applikationer på, er ExpressJS meget fleksibel og pluggbar, da den ikke har nogen ‘bedste måde’ at gøre tingene på.

For at opsummere, er dette grundene til, at du bør bruge ExpressJS;

  • Nemt at oprette API’er og webapplikationer.
  • Dens API’er er robuste, hvilket gør routing let
  • Asynkron og enkeltgevind

Funktioner i ExpressJS

#1. En del af MEAN Stack

JavaScript er stadig et af de mest populære programmeringssprog, da det har rammer, der kan bruges på både frontend og backend af en fuld stack-applikation.

Nogle Javascript-udviklere bruger MEAN, den korte form af MongoDB, Express, Node. js og AngularJS for at skabe fuldstack-applikationer. Nogle udviklere foretrækker Reactjs og bruger MERN-stakken (MongoDB, Express, Node. js og Reactjs). I begge muligheder forbliver Expressjs konstant.

#2. Fleksibel og hurtig

Du behøver ikke mestre mange forskellige dele af et større framework, da ExpressJS er designet til at være minimalistisk. Tilstedeværelsen af ​​et fremragende routingsystem, indholdsforhandling lige ud af boksen og middleware gør det hurtigt.

#3. Skalerbar

Det er nemt at skalere applikationer bygget på Express, hvilket forklarer, hvorfor mange organisationer bruger det. Når du udvikler store applikationer, har Express brug for lidt eller ingen ekstra konfiguration. Tilstedeværelsen af ​​mange moduler, pakker og yderligere ressourcer gør det praktisk at udvikle store applikationer nemt.

  Sådan tegner du online ved hjælp af Google Chrome Canvas-appen

#4. Tilstedeværelse af middleware

ExpressJS har en række middleware-apps til at fremskynde og forbedre udviklingsprocessen. Middleware gør det nemt for et framework at køre et typisk script før eller efter en klientanmodning. Tilstedeværelsen af ​​middleware gør det nemt for udviklere at kontrollere klienthandlinger såsom tilmeldinger/tilmeldinger og logout.

#5. Kraftfuldt rutesystem

ExpressJS’s routingsystem giver udviklere mulighed for at skabe kraftfulde API’er, der håndterer næsten alle HTTP-anmodninger. Du behøver ikke at ende med et oppustet routingsystem, da du kan opdele din kode i håndterbare filer ved hjælp af router-instansen. Du kan også gruppere forskellige ruter i en enkelt mappe/mappe for at administrere din applikation bedre.

Arkitektur af ExpressJS

Billedkredit: turing.com

En Express-applikation vil have følgende komponenter;

  • Afhængigheder. ExpressJS i sig selv er en afhængighed. Du kan installere de andre afhængigheder ved at bruge kommandoen npm.
  • Mellemvare. Middleware i en ExpressJS-opsætning er den funktion, der bestemmer anmodnings-/svar-cyklussen.
  • Instantiationer. Disse er simpelthen udsagn, der bruges til at skabe et objekt.
  • Konfigurationer. Konfigurationer er brugerdefinerede applikationsbaserede indstillinger defineret efter instansieringer eller i en separat fil
  • Ruter. Ruter er de endepunkter, som klienter bruger til at nå forskellige ressourcer eller udføre bestemte handlinger defineret af serveren.
  • Bootstrapping-server. App.listen()-funktionen udføres for at starte udviklingsserveren.

Kom godt i gang: ExpressJS

ExpressJS kører på Node.js, hvilket betyder, at du skal installere det på din pc.

Du skal også bruge Node Package Manager (npm) til at administrere alle afhængigheder til dit udviklingsmiljø.

Du kan installere Node via dets officielle websted baseret på dit operativsystem.

Når du er færdig, skal du køre disse to kommandoer for at sikre, at henholdsvis node og npm er installeret.

node --version
npm --version

Installer ExpressJS

Følg disse trin

  • Opret en simpel ExpressJS-app. Du kan oprette det manuelt eller bruge disse kommandoer
mkdir myapp
cd myapp
  • Opret en package.json-fil ved hjælp af denne kommando
npm init
  • Accepter kommandoerne baseret på de angivne prompter. Skift dog; indgangspunktet: (index.js) til app.js
  • Installer ExpressJS ved hjælp af denne kommando
npm install express
  • Vis “Hello World”

Mens du er inde i rodmappen, skal du oprette en fil og navngive den app.js

  11 løsninger til at rette Outlook-fejl Dette element kan ikke vises i læseruden

Tilføj denne kode

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}`)

})

Kør denne kommando for at starte den lokale server

node app.js

Gå til http://localhost:3000/ på din browser, og du vil finde dette output

Express Application Generator

Den applikation, vi oprettede manuelt ovenfor, er meget grundlæggende. Du kan dog undslippe den manuelle oprettelse af en ExpressJS-app ved at bruge Express-generatoren.

  • Dette er kommandoen til at generere din ExpressJS-app.
npx express-generator
  • Hvis du bruger en tidligere node.js-version end 8.2.0, kan du installere applikationsgeneratoren og starte den ved hjælp af disse kommandoer;
npm install -g express-generator
express
express --view=pug myapp

Ovenstående kommando vil generere en app med navnet ‘myapp’

  • Installer alle de nødvendige afhængigheder ved hjælp af disse kommandoer
cd myapp

npm install
  • Kør udviklingsserveren afhængigt af dit operativsystem

På Windows PowerShell;

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

På Windows kommandoprompt;

> set DEBUG=myapp:* & npm start

På macOS eller Linux;

DEBUG=myapp:* npm start

Gå til http://localhost:3000/ på din browser, og det er det, der vil blive vist

#1. Fintech apps

Banker og finansorganisationer bliver digitale, hvilket øger efterspørgslen efter fintech-apps. Sådanne apps bruges til at understøtte/aktivere finansielle og banktjenester. ExpressJS har vist sig at være en kraftfuld ramme til at skabe skalerbare fintech-apps.

#2. Enkelt-app-applikationer

Enkelt-app-applikationer, hvor hele applikationen dirigeres på en enkelt side, er blevet den moderne måde at udvikle applikationer på. Store mobil- og webapps som Airbnb, Netflix, Pinterest, Paypal, Gmail og Google Maps er perfekte eksempler på applikationer med én app. ExpressJS er en perfekt ramme til at skabe single-app-applikationer med nem routing.

#3. Streaming applikationer

Apps som Spotify og Netflix kan virke enkle for slutbrugere. Sådanne apps er imidlertid komplekse med flere lag af data. ExpressJS er et fantastisk valg til at skabe sådanne apps, da det effektivt kan håndtere asynkrone datastrømme.

#4. Samarbejdsværktøjer i realtid

Moderne arbejdsmiljøer består af teams, der samarbejder om forskellige opgaver for et fælles mål. ExpressJS kommer med forskellige funktioner, der understøtter udviklingen af ​​samarbejdsværktøjer. Denne ramme er også nyttig, når du opretter dashboards og applikations-chat i realtid, da den er nem at integrere med WebSocket.

  Øg teamets kreativitet med disse 10 brainstormingværktøjer

Fordele: ExpressJS

  • Gratis og open source. Du skal ikke betale noget for at bruge ExpressJS. Du kan også ændre den eksisterende kode, så den passer til dine behov.
  • Brugervenlighed. ExpressJS giver dig mulighed for at skrive kode uden at følge komplicerede processer. Rammen har allerede tonsvis af værktøjer og funktioner til at forenkle processen.
  • Hurtig udvikling. ExpressJS har mange skabeloner for at sikre, at du ikke opretter alt fra bunden.
  • Flot præstation. Apps, der er oprettet på ExpressJS, fungerer eksemplarisk, og du kan dermed bruge det på både små- og virksomhedsapps.

Ulemper: ExpressJS

  • Nogle fejlmeddelelser er ikke nyttige. I modsætning til andre back-ends/API-udviklingsrammer indikerer 404-svar i ExpressJS ikke nødvendigvis en fejl.
  • Ikke så god til kodeorganisering, da der ikke er nogen bedste måde at gøre tingene på.

Læringsressourcer: ExpressJS

#1. Node.js, Express, MongoDB og mere

Dette kursus er ideelt, hvis du ønsker at lære hele back-end-stakken fra én ressource. I slutningen af ​​kurset kan du oprette hurtige og skalerbare RESTful API’er ved hjælp af ExpressJS og andre tilhørende teknologier.

#2. Bare Express

Dette er kurset, du skal tage, hvis du ønsker at betjene den Express Server som en REST API. Dette kursus lærer også HTTP-grundlæggende og gør det nemt at forstå anmodning/svar-cyklussen.

#3. React, NodeJS, Express & MongoDB

Dette MERN full-stack-kursus er ideelt, hvis du vil lære at oprette JavaScript full-stack-applikationer. Nogle af de ting, du vil lære, er, hvordan du forbinder ReactJS med NodeJS, Express & MongoDB, hvordan du implementerer Authentication & Authorization og meget mere.

#4. Express in Action: Skrivning, opbygning og test af Node.js-applikationer

Express in Action er en bog, der beskriver trinene til at oprette webapplikationer ved hjælp af Node og ExpressJS. Du lærer blandt andet, hvordan du opsætter en ExpressJS-app, datalagring med MongoDB, og hvordan du tester Express-apps.

#5. Express.js: Guidebog om web-framework til Node.js

Express.js: Guide Book on Web framework til Node.js giver en dybdegående udforskning af ExpressJS web framework. Diskussionerne i denne bog er baseret på de forskellige modeller, som ExpressJS leverer til brugerne.

#6. ExpressJS officielle dokumentation

ExpressJS er en veldokumenteret node.js-ramme, og du kan lære alt, hvad du behøver for at komme i gang med de officielle dokumenter. Du kan bruge denne ressource, uanset om du lige er startet eller en avanceret udvikler.

Afslutter

ExpressJS er en af ​​de mest berømte Node.js-webrammer i den moderne verden. Sortimentet af kraftfulde funktioner og dens nemme indlæringskurve har fået den til at holde denne position gennem årene. ExpressJS fungerer som grundlaget for Node.js, hvilket betyder, at forståelsen af ​​det gør det nemt at forstå andre tilknyttede rammer.