Node.js Express.js FrameWorki õpetus
⚡ Nutikas kokkuvõte
Express.js on minimaalne Node.js veebirakenduste raamistik, mis lisab HTTP põhimoodulile marsruutimise, vahevara ja mallide renderdamise, nii et ühe-, mitme- ja hübriidrakendused jõuavad töötava serverini väga väheste ridadega.
Selles õpetuses uurime Expressi raamistikku. See raamistik on loodud nii, et see toimib minimaalse ja paindliku Node.js veebirakenduste raamistikuna, pakkudes tugevat funktsioonide komplekti ühe-, mitme- ja hübriidveebirakenduste loomiseks.
Mis on Express.js?
Express.js on Node.js veebirakenduste serveri raamistik, mis on spetsiaalselt loodud ühe-, mitme- ja hübriidveebirakenduste loomiseks.
Sellest on saanud Node.js-i standardne serveriraamistik. Express on MEAN-virnana tuntud tarkvara taustsüsteem.
Ekspresskihid marsruutimiseks ja vahevaraks Node.js HTTP tuuma kaudu. ojad ja sündmuste API-d.
MEAN on tasuta ja avatud lähtekoodiga programm JavaScript Tarkvarapakk dünaamiliste veebisaitide ja veebirakenduste loomiseks, millel on järgmised komponendid;
1) MongoDB — Standardne NoSQL-i andmebaas
2) Express.js — Vaikimisi veebirakenduste raamistik
3) AngularJS - The JavaVeebirakenduste jaoks kasutatav skripti MVC raamistik
4) Node.js — Raamistik, mida kasutatakse skaleeritavate serveripoolsete ja võrgurakenduste jaoks.
Express.js raamistik muudab rakenduse arendamise väga lihtsaks, mida saab kasutada mitut tüüpi päringute (nt GET, PUT, POST ja DELETE) käsitlemiseks.
Expressi installimine ja kasutamine
Express installitakse Node Package Manageri kaudu. Seda saab teha käsureal järgmise rea käivitamisega
npm install express
Ülaltoodud käsk palub Node Package Manageril alla laadida vajalik express moodulid ja paigaldage need vastavalt.
Versiooni märkus: npm installib nüüd Express 5.2; paljud projektid kasutavad endiselt Express 4. Mõlemad käivitavad allolevad näited toetatud Node.js väljalase.
Kasutame oma äsja installitud Expressi raamistikku ja loome lihtsa "Hello World" rakenduse.
Meie rakendus loob lihtsa serveri moodul mis kuulab pordil number 3000. Meie näites, kui brauseri kaudu tehakse sellele pordile päring, saadab serverirakendus kliendile vastuse "Hello World".
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Code Selgitus:
- Oma esimesel koodireal kasutame kiirmooduli kaasamiseks funktsiooni Nõua.
- Enne ekspressmooduli kasutamist peame looma sellest objekti.
- Siin loome tagasihelistusfunktsiooni. Seda funktsiooni kutsutakse välja iga kord, kui keegi sirvib meie veebirakenduse juurkataloogi, mis on http://localhost:3000. Tagasihelistusfunktsiooni kasutatakse veebilehele stringi "Hello World" saatmiseks.
- Tagasihelistamise funktsioonis saadame kliendile tagasi stringi "Tere maailm". Parameetrit "res" kasutatakse sisu tagasisaatmiseks veebilehele. See parameeter "res" on midagi, mida pakub taotlusmoodul, mis võimaldab sisu veebilehele tagasi saata.
- Seejärel kasutame kuulamisfunktsiooni, et panna meie serverirakendus kuulama kliendi päringuid pordil nr 3000. Siin saate määrata mis tahes saadaoleva pordi.
Kui käsk on edukalt täidetud, kuvatakse brauseris koodi käivitamisel järgmine väljund.
Väljund:
Väljundist,
- Seda on selgelt näha, kui sirvida URL localhosti puhul pordil 3000 näete lehel stringi 'Hello World'.
- Kuna meie koodis on spetsiaalselt mainitud, et server kuulaks porti nr 3000, saame sellele sirvides väljundit vaadata. URL.
Mis on marsruudid?
Üks juurtee on ainult alguspunkt.
Marsruutimine määrab, kuidas rakendus vastab kliendi päringule konkreetsele lõpp-punktile.
Näiteks saab klient teha erinevate andmete jaoks GET, POST, PUT või DELETE http-päringu. URL nagu allpool näidatud;
http://localhost:3000/Books http://localhost:3000/Students
Ülaltoodud näites
- Kui esimese kohta esitatakse GET-päring URL, siis peaks vastuseks ideaalis olema raamatute nimekiri.
- Kui GET-päring tehakse teise kohta URL, siis peaks vastuseks ideaalis olema õpilaste nimekiri.
- Seega, lähtudes URL millele juurde pääsetakse, kutsutakse veebiserveris välja erinev funktsioon ja vastavalt sellele saadetakse vastus kliendile. See on marsruutimise kontseptsioon.
Igal marsruudil võib olla üks või mitu käitleja funktsiooni, mis käivitatakse marsruudi sobitamisel.
Marsruudi üldine süntaks on näidatud allpool
app.METHOD(PATH, HANDLER)
kus,
1) rakendus on ekspressmooduli eksemplar
2) METHOD on HTTP päringu meetod (GET, POST, PUT või DELETE)
3) PATH on tee serveris.
4) HANDLER on funktsioon, mis käivitatakse marsruudi sobitamisel.
| Helista | Küsi | Eesmärk |
|---|---|---|
| rakendus.get(TEE, KÄITLEJA) | GET | Lugenud |
| rakendus.post(TEE, KÄITLEJA) | POST | Looma |
| app.put(TEE, KÄITLEJA) | PUT | asendama |
| rakendus.kustuta(TEE, KÄITLEJA) | Kustuta | eemalda |
| rakendus.marsruut(TEE) | Aheldatud | Grupihaldurid |
| rakendus.use(KÄITLEJA) | mistahes | Vahevara paigaldamine |
⚠️ Express 5 märkused: Need signatuurid on muutmata, aga app.del()-st sai app.delete(), res.sendfile()-st sai res.sendFile() ja metamärgid vajavad nüüd nimesid, näiteks /*splat.
Vaatame näidet, kuidas Expressis marsruute rakendada. Meie näites luuakse 3 marsruuti järgmiselt:
- /Node marsruut, mis kuvab stringi "Õpetus sõlmes", kui sellele marsruudile juurde pääsete
- /Angular marsruut, mis kuvab stringi "Tutorial on Angular", kui sellele marsruudile juurde pääsete
- Vaikimisi marsruut /, mis kuvab stringi „Tere tulemast Guru99 õpetust.
Meie põhikood jääb samaks, mis eelmistes näidetes. Allolev koodilõik on lisandmoodul, mis näitab marsruutimise rakendamist.
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'); });
Code Selgitus:
- Siin defineerime marsruudi, kui URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLFunktsioonil on kaks parameetrit.
- Peamine parameeter, mida me kasutame, on parameeter "res", mida saab kasutada kliendile teabe tagasisaatmiseks.
- Parameeter „req” sisaldab teavet esitatava päringu kohta. Mõnikord võidakse esitatava päringu osana saata täiendavaid parameetreid ja seega saab parameetrit „req” kasutada saadetavate lisaparameetrite leidmiseks.
- Kui sõlme marsruut on valitud, kasutame saatmisfunktsiooni stringi "Õpetus sõlmes" saatmiseks kliendile tagasi.
- Siin defineerime marsruudi, kui URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Angular URL.
- Me kasutame saatmisfunktsiooni stringi “Tutorial on Angular” saatmiseks kliendile tagasi, kui valitakse Angular marsruut.
- See on vaikemarsruut, mis valitakse rakenduse juurkataloogi – http://localhost:3000 – sirvimisel. Kui vaikemarsruut on valitud, kuvatakse teade „Tere tulemast Guru99 õpetust” saadetakse kliendile.
Kui käsk on edukalt täidetud, kuvatakse brauseris koodi käivitamisel järgmine väljund.
Väljund:
Väljundist,
- Seda on selgelt näha, kui sirvida URL localhosti puhul pordil 3000 näete stringi 'Tere tulemast' GuruLehel kuvatakse 99 õpetust.
- Sest meie koodis oleme maininud, et meie vaikimisi URL kuvaks selle teate.
Seejärel sirvige /Node'i.
Väljundist,
- Näete, et kui URL on muudetud /Node-ks, valitakse vastav sõlme marsruut ja kuvatakse teade „Õpetus sõlme kohta”.
Seejärel sirvi /Angular-i.
Väljundist,
- Näete, et kui URL on muudetud /Angular-iks, valitakse vastav sõlme marsruut ja kuvatakse teade „Õpetus Angulari kohta”.
Näidisveebiserver, kasutades express.js-i
Ülaltoodud näitest nägime, kuidas saame marsruutimise põhjal otsustada, millist väljundit kuvada. Sellist marsruutimist kasutatakse enamikus tänapäevastes veebirakendustes. Veebiserveri teine osa on seotud mallide kasutamisega Node.js-is.
Kiirete ja koheselt loodavate Node.js rakenduste loomiseks on lihtne ja kiire viis kasutada rakenduse malle. Mallide loomiseks on turul saadaval palju raamistikke. Meie puhul võtame näiteks Jade'i mallide loomise raamistiku.
Jade installitakse Node'i paketihalduri kaudu. Seda saab teha käsureal järgmise käsurea käivitamisega
npm install jade
Ülaltoodud käsk palub Node Package Manageril alla laadida vajalikud Jade moodulid ja need vastavalt installida.
MÄRKUS: Node'i uusimas versioonis on jade aegunud. Selle asemel kasutage mopsi.
⚠️ Kaasaegne vaste: paigaldama Mops, nimeta fail index.jade ümber failiks index.pug ja määra käsk app.set('view engine','pug'). Jade pakett ei saa värskendusi; alltoodud sammud toimivad ikkagi.
Kasutame meie äsja installitud Jade'i raamistikku ja loome mõned põhimallid.
Step 1) Esimene samm on Jade'i malli loomine. Looge fail nimega index.jade ja sisestage sinna allolev kood. Veenduge, et fail oleks kaustas „views“.
- Siin täpsustame, et selle malli käivitamisel muudetakse lehe pealkiri mis tahes väärtuseks, mis edastatakse.
- Samuti täpsustame, et päises olev tekst asendatakse Jade-mallis edastatud tekstiga.
Selle renderdav rakenduse kood järgneb.
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() {});
Code Selgitus:
- Rakenduses tuleb esimese asjana määrata „vaatemootor“, mida mallide renderdamiseks kasutatakse. Kuna mallide renderdamiseks kasutame Jade'i, siis määrame selle vastavalt.
- Renderdusfunktsiooni kasutatakse veebilehe renderdamiseks. Meie näites renderdame malli (index.jade), mis loodi varem.
- Me edastame väärtused „Guru99” ja „Welcome” vastavalt parameetritele „title” ja „message”. Need väärtused asendatakse mallis index.jade deklareeritud parameetritega „title” ja „message”.
Kui käsk on edukalt täidetud, kuvatakse brauseris koodi käivitamisel järgmine väljund.
Väljund:
Väljundist,
- Näeme, et lehe pealkirjaks määratakse „Guru99” ja lehe päiseks määratakse „Tere tulemast”.
- See on tingitud Jade'i mallist, mida meie Node.js rakenduses kutsutakse.









