Node.js Express FrameWork Tutorial - Lær om 10 minutter

Indholdsfortegnelse:

Anonim

I denne vejledning studerer vi Express-rammen. Denne ramme er bygget på en sådan måde, at den fungerer som et minimalt og fleksibelt Node.js-webapplikationsramme, der giver et robust sæt funktioner til opbygning af enkelt- og flersidet og hybrid webapplikation.

I denne vejledning lærer du-

  • Hvad er Express.js?
  • Installation og brug af Express
  • Hvad er ruter?
  • Eksempel på webserver ved hjælp af express.js

Hvad er Express.js?

Express.js er en Node js-webapplikationsserverramme, som er specielt designet til opbygning af enkeltsidede, flersidede og hybrid-webapplikationer.

Det er blevet standardserverrammen for node.js. Express er backend-delen af ​​noget kendt som MEAN-stakken.

MEAN er en gratis og open source JavaScript-softwarestak til opbygning af dynamiske websteder og webapplikationer, der har følgende komponenter;

1) MongoDB - Standard NoSQL-database

2) Express.js - Standardrammen til webapplikationer

3) Angular.js - JavaScript MVC-rammen, der bruges til webapplikationer

4) Node.js - Framework, der bruges til skalerbare applikationer på serversiden og netværk.

Express.js-rammen gør det meget nemt at udvikle en applikation, der kan bruges til at håndtere flere typer anmodninger som GET, PUT, og POST og SLET anmodninger.

Installation og brug af Express

Express installeres via Node Package Manager. Dette kan gøres ved at udføre følgende linje på kommandolinjen

npm installer ekspres

Ovenstående kommando anmoder Node-pakkehåndteringen om at downloade de krævede ekspressmoduler og installere dem i overensstemmelse hermed.

Lad os bruge vores nyinstallerede Express-ramme og oprette en simpel "Hello World" -applikation.

Vores applikation vil oprette et simpelt servermodul, der vil lytte på portnummer 3000. I vores eksempel, hvis der foretages en anmodning via browseren om dette portnummer, så sender serverapplikationen et 'Hello' World 'svar til klienten .

var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});

Kode Forklaring:

  1. I vores første kodelinje bruger vi funktionen kræver til at inkludere "ekspresmodulet."
  2. Før vi kan begynde at bruge ekspresmodulet, skal vi gøre et objekt af det.
  3. Her opretter vi en tilbagekaldsfunktion. Denne funktion kaldes, når nogen gennemsøger roden til vores webapplikation, som er http: // localhost: 3000 . Tilbagekaldsfunktionen vil blive brugt til at sende strengen 'Hello World' til websiden.
  4. I tilbagekaldsfunktionen sender vi strengen "Hello World" tilbage til klienten. Parameteren 'res' bruges til at sende indhold tilbage til websiden. Denne 'res' parameter er noget, der leveres af 'anmodnings'-modulet for at gøre det muligt for en at sende indhold tilbage til websiden.
  5. Vi bruger derefter lytte til-funktionen til at få vores serverapplikation til at lytte til klientforespørgsler på port nr. 3000. Du kan angive enhver tilgængelig port herover.

Hvis kommandoen udføres med succes, vises følgende output, når du kører din kode i browseren.

Produktion:

Fra output,

  • Du kan tydeligt se, at hvis vi søger til URL'en til localhost på port 3000, vil du se strengen 'Hello World' vist på siden.
  • Fordi vi i vores kode har nævnt specifikt, at serveren skal lytte på port nr. 3000, er vi i stand til at se output, når vi gennemsøger denne URL.

Hvad er ruter?

Routing bestemmer den måde, hvorpå en applikation reagerer på en klientanmodning til et bestemt slutpunkt.

For eksempel kan en klient foretage en GET-, POST-, PUT- eller SLET-http-anmodning om forskellige URL-adresser, såsom dem der er vist nedenfor;

http://localhost:3000/Bookshttp://localhost:3000/Students

I ovenstående eksempel

  • Hvis der foretages en GET-anmodning om den første URL, skal svaret ideelt set være en liste over bøger.
  • Hvis GET-anmodningen foretages for den anden URL, skal svaret ideelt set være en liste over studerende.
  • Så baseret på den URL, der er adgang til, vil en anden funktionalitet på webserveren blive påberåbt, og følgelig vil svaret blive sendt til klienten. Dette er begrebet ruting.

Hver rute kan have en eller flere handlerfunktioner, som udføres, når ruten matches.

Den generelle syntaks for en rute er vist nedenfor

app.METHOD(PATH, HANDLER)

Hvori,

1) app er en forekomst af ekspresmodulet

2) METODE er en HTTP-anmodningsmetode (GET, POST, PUT eller SLET)

3) PATH er en sti på serveren.

4) HANDLER er den funktion, der udføres, når ruten matches.

Lad os se på et eksempel på, hvordan vi kan implementere ruter i ekspressen. Vores eksempel opretter 3 ruter som

  1. A / Node-rute, der viser strengen "Tutorial on Node", hvis denne rute er tilgås
  2. En / vinkelrute, der viser strengen "Tutorial on Angular", hvis denne rute er adgang
  3. En standardrute / som vil vise strengen "Velkommen til Guru99 Tutorials."

Vores grundlæggende kode forbliver den samme som tidligere eksempler. Nedenstående uddrag er et tilføjelsesprogram for at vise, hvordan routing implementeres.

var express = require('express');var app = express();app.route('/Node').get(function(req,res){res.send("Tutorial on Node");});app.route('/Angular').get(function(req,res){res.send("Tutorial on Angular");});app.get('/',function(req,res){res.send('Welcome to Guru99 Tutorials');}));

Kode Forklaring:

  1. Her definerer vi en rute, hvis URL http: // localhost: 3000 / Node er valgt i browseren. Til ruten vedhæfter vi en tilbagekaldsfunktion, som kaldes, når vi bladrer til Node URL.

    Funktionen har 2 parametre.

  • Den vigtigste parameter, vi vil bruge, er parameteren 'res', som kan bruges til at sende oplysninger tilbage til klienten.
  • Parameteren 'req' indeholder oplysninger om den anmodning, der fremsættes. Nogle gange kunne yderligere parametre sendes som en del af anmodningen, og derfor kan parameteren 'req' bruges til at finde de yderligere parametre, der sendes.
  1. Vi bruger sendefunktionen til at sende strengen "Tutorial on Node" tilbage til klienten, hvis Node-ruten vælges.
  2. Her definerer vi en rute, hvis URL http: // localhost: 3000 / Angular er valgt i browseren. Til ruten vedhæfter vi en tilbagekaldsfunktion, som kaldes op, når vi søger til den kantede URL.
  3. Vi bruger sendefunktionen til at sende strengen "Tutorial on Angular" tilbage til klienten, hvis den kantede rute er valgt.
  4. Dette er standardruten, der vælges, når man browser til applikationsruten - http: // localhost: 3000 . Når standardruten er valgt, sendes meddelelsen "Velkommen til Guru99 Tutorials" til klienten.

Hvis kommandoen udføres med succes, vises følgende output, når du kører din kode i browseren.

Produktion:

Fra output,

  • Du kan tydeligt se, at hvis vi gennemsøger URL'en til localhost på port 3000, vil du se strengen 'Welcome to Guru99 Tutorials' vist på siden.
  • Fordi vi i vores kode har nævnt, at vores standard-URL vil vise denne besked.

Fra output,

  • Du kan se, at hvis URL'en er blevet ændret til / Node, ville den respektive Node-rute blive valgt, og strengen "Tutorial On Node '" vises.

Fra output,

  • Du kan se, at hvis URL'en er blevet ændret til / Angular, ville den respektive Node-rute blive valgt, og strengen "Tutorial On Angular" vises.

Eksempel på webserver ved hjælp af express.js

Fra vores ovenstående eksempel har vi set, hvordan vi kan beslutte, hvilken output der skal vises baseret på routing. Denne form for routing er det, der bruges i de fleste moderne webapplikationer. Den anden del af en webserver handler om at bruge skabeloner i Node js.

Når du opretter hurtige on-the-fly node-applikationer, er en nem og hurtig måde at bruge skabeloner til applikationen. Der er mange rammer tilgængelige på markedet til fremstilling af skabeloner. I vores tilfælde vil vi tage eksemplet med jade-rammen til skabeloner.

Jade installeres via Node Package Manager. Dette kan gøres ved at udføre følgende linje på kommandolinjen

npm installer jade

Ovenstående kommando anmoder Node-pakkehåndtereren om at downloade de nødvendige jademoduler og installere dem i overensstemmelse hermed.

BEMÆRK: I den seneste version af Node er jade udfaset. Brug i stedet mops.

Lad os bruge vores nyinstallerede jade-ramme og oprette nogle grundlæggende skabeloner.

Trin 1) Det første trin er at oprette en jadeskabelon. Opret en fil kaldet index.jade og indsæt nedenstående kode. Sørg for at oprette filen i "visninger" -mappen

  1. Her specificerer vi, at titlen på siden ændres til den værdi, der sendes, når denne skabelon påberåbes.
  2. Vi specificerer også, at teksten i header-taggen bliver erstattet til det, der bliver sendt i jade-skabelonen.

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){res.render('index',{title:'Guru99',message:'Welcome'})});var server=app.listen(3000,function() {});

Kode Forklaring:

  1. Den første ting at specificere i applikationen er "view engine", der skal bruges til at gengive skabelonerne. Da vi skal bruge jade til at gengive vores skabeloner, specificerer vi dette i overensstemmelse hermed.
  2. Gengivelsesfunktionen bruges til at gengive en webside. I vores eksempel gengiver vi skabelonen (index.jade), som blev oprettet tidligere.
  3. Vi sender værdierne "Guru99" og "Welcome" til parametrene "henholdsvis" title "og" message ". Disse værdier erstattes af parametrene 'title' og 'message', der er angivet i index.jade-skabelonen.

Hvis kommandoen udføres med succes, vises følgende output, når du kører din kode i browseren.

Produktion:

Fra output,

  • Vi kan se, at titlen på siden bliver indstillet til "Guru99", og sidehovedet bliver indstillet til "Velkommen."
  • Dette skyldes jade-skabelonen, der påberåbes i vores node js-applikation.

Resumé

  • Express-rammen er den mest almindelige ramme, der bruges til at udvikle Node js-applikationer. Express-rammen er bygget oven på node.js-rammen og hjælper med hurtig sporingsudvikling af serverbaserede applikationer.
  • Ruter bruges til at omdirigere brugere til forskellige dele af webapplikationerne baseret på anmodningen. Svaret for hver rute kan varieres afhængigt af, hvad der skal vises for brugeren.
  • Skabeloner kan bruges til at indsprøjte indhold på en effektiv måde. Jade er en af ​​de mest populære skabelonmotorer, der bruges i Node.js-applikationer.