Šajā apmācībā mēs izpētīsim Express ietvaru. Šī sistēma ir veidota tā, ka tā darbojas kā minimāla un elastīga Node.js tīmekļa lietojumprogrammu sistēma, nodrošinot spēcīgu funkciju kopumu vienas un vairāku lapu, kā arī hibrīda tīmekļa lietojumprogrammu veidošanai.
Šajā apmācībā jūs uzzināsiet
- Kas ir Express.js?
- Express instalēšana un izmantošana
- Kas ir maršruti?
- Tīmekļa servera paraugs, izmantojot express.js
Kas ir Express.js?
Express.js ir Node js tīmekļa lietojumprogrammu servera ietvars, kas ir īpaši paredzēts vienas lapas, vairāku lapu un hibrīdu tīmekļa lietojumprogrammu veidošanai.
Tas ir kļuvis par standarta servera ietvaru node.js. Express ir aizmugurējā daļa kaut kam, kas pazīstams kā MEAN kaudze.
MEAN ir bezmaksas un atvērtā koda JavaScript programmatūras kaudze dinamisku vietņu un tīmekļa lietojumprogrammu veidošanai, kurai ir šādi komponenti;
1) MongoDB - standarta NoSQL datu bāze
2) Express.js - noklusējuma tīmekļa lietojumprogrammu ietvars
3) Angular.js - JavaScript MVC ietvars, ko izmanto tīmekļa lietojumprogrammām
4) Node.js - ietvars, ko izmanto mērogojamām servera un tīkla lietojumprogrammām.
Express.js ietvars ļauj ļoti viegli izstrādāt lietojumprogrammu, kuru var izmantot, lai apstrādātu vairāku veidu pieprasījumus, piemēram, GET, PUT, POST un DELETE pieprasījumus.
Express instalēšana un izmantošana
Express tiek instalēts, izmantojot Node Package Manager. To var izdarīt, komandrindā izpildot šādu rindu
npm instalēt express
Iepriekš minētā komanda pieprasa Node pakotņu pārvaldniekam lejupielādēt nepieciešamos ekspresmoduļus un attiecīgi tos instalēt.
Izmantosim mūsu nesen instalēto Express ietvaru un izveidosim vienkāršu lietojumprogrammu "Hello World".
Mūsu lietojumprogramma izveidos vienkāršu servera moduli, kas klausīsies porta numuru 3000. Mūsu piemērā, ja pieprasījums tiek veikts, izmantojot šī porta numura pārlūkprogrammu, servera lietojumprogramma klientam nosūtīs atbildi “Sveika, pasaule”. .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Koda skaidrojums:
- Pirmajā koda rindiņā mēs izmantojam funkciju pieprasīt, lai iekļautu "ekspress moduli".
- Pirms mēs varam sākt lietot ekspress moduli, mums no tā jāizveido objekts.
- Šeit mēs izveidojam atzvanīšanas funkciju. Šī funkcija tiks izsaukta ikreiz, kad kāds pārlūkos mūsu tīmekļa lietojumprogrammas sakni, kas ir http: // localhost: 3000 . Atzvana funkcija tiks izmantota, lai nosūtītu virkni “Hello World” uz tīmekļa lapu.
- Atzvana funkcijā klientam tiek nosūtīta virkne "Hello World". Parametru 'res' izmanto, lai saturu nosūtītu atpakaļ uz tīmekļa lapu. Šis parametrs 'res' ir kaut kas, ko nodrošina modulis 'pieprasījums', lai varētu nosūtīt saturu atpakaļ uz tīmekļa lapu.
- Pēc tam mēs izmantojam funkciju Klausīties, lai mūsu servera lietojumprogramma noklausītos klienta pieprasījumus ostā Nr. 3000. Šeit varat norādīt jebkuru pieejamo portu.
Ja komanda tiek veiksmīgi izpildīta, palaižot kodu pārlūkprogrammā, tiks parādīta šāda izeja.
Izeja:
No izejas
- Jūs skaidri redzat, ka, pārlūkojot vietējā hosta URL portā 3000, lapā redzēsit virkni “Hello World”.
- Tā kā mūsu kodā mēs īpaši pieminējām serveri, lai klausītos portā Nr. 3000, pārlūkojot šo URL, mēs varam apskatīt izvadi.
Kas ir maršruti?
Maršrutēšana nosaka veidu, kā lietojumprogramma reaģē uz klienta pieprasījumu konkrētam galapunktam.
Piemēram, klients var veikt GET, POST, PUT vai DELETE http pieprasījumu dažādiem URL, piemēram, tiem, kas parādīti zemāk;
http://localhost:3000/Bookshttp://localhost:3000/Students
Iepriekš minētajā piemērā
- Ja GET pieprasījums tiek veikts par pirmo URL, ideālā gadījumā atbildei jābūt grāmatu sarakstam.
- Ja GET pieprasījums tiek veikts par otro URL, ideālā gadījumā atbildei jābūt studentu sarakstam.
- Tātad, pamatojoties uz piekļuves URL, tiks izmantota cita servera funkcionalitāte, un attiecīgi atbilde tiks nosūtīta klientam. Tas ir maršrutēšanas jēdziens.
Katram maršrutam var būt viena vai vairākas apstrādātāja funkcijas, kuras tiek izpildītas, kad maršruts tiek saskaņots.
Maršruta vispārējā sintakse ir parādīta zemāk
app.METHOD(PATH, HANDLER)
Kurā,
1) lietotne ir ekspress moduļa instance
2) METODE ir HTTP pieprasījuma metode (GET, POST, PUT vai DELETE)
3) PATH ir ceļš uz servera.
4) HANDLER ir funkcija, kas tiek izpildīta, saskaņojot maršrutu.
Apskatīsim piemēru, kā mēs varam ieviest maršrutus ekspress. Mūsu piemērs izveidos 3 maršrutus kā
- Maršruts A / Node, kurā tiks parādīta virkne "Pamācība mezglā", ja būs pieejams šis maršruts
- A / leņķa maršruts, kurā tiks parādīta virkne "Tutorial on Angular", ja šim maršrutam būs piekļuve
- Noklusējuma maršruts / kurā tiks parādīta virkne "Welcome to Guru99 Tutorials".
Mūsu pamata kods paliks tāds pats kā iepriekšējie piemēri. Tālāk redzamais fragments ir papildinājums, lai parādītu, kā maršrutēšana tiek ieviesta.
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');}));
Koda skaidrojums:
- Šeit mēs definējam maršrutu, ja pārlūkprogrammā ir atlasīts URL http: // localhost: 3000 / Node . Maršrutam mēs pievienojam atzvanīšanas funkciju, kas tiks izsaukta, kad pārlūkosim mezgla URL.
Funkcijai ir 2 parametri.
- Galvenais parametrs, ko izmantosim, ir parametrs 'res', kuru var izmantot, lai nosūtītu informāciju atpakaļ klientam.
- Parametrā “req” ir informācija par veicamo pieprasījumu. Dažreiz papildu parametrus var nosūtīt kā daļu no pieprasījuma, un tāpēc parametru 'req' var izmantot, lai atrastu nosūtītos papildu parametrus.
- Mēs izmantojam sūtīšanas funkciju, lai virkni "Pamācība mezglā" nosūtītu atpakaļ klientam, ja tiek izvēlēts mezgla maršruts.
- Šeit mēs definējam maršrutu, ja pārlūkprogrammā ir atlasīts URL http: // localhost: 3000 / Angular . Maršrutam mēs pievienojam atzvanīšanas funkciju, kas tiks izsaukta, kad mēs pārlūkosim leņķa URL.
- Mēs izmantojam sūtīšanas funkciju, lai klientam nosūtītu virkni "Tutorial on Angular", ja tiek izvēlēts Angular maršruts.
- Šis ir noklusējuma maršruts, kas tiek izvēlēts, pārlūkojot lietojumprogrammas maršrutu - http: // localhost: 3000 . Kad tiek izvēlēts noklusējuma maršruts, klientam tiks nosūtīts ziņojums "Welcome to Guru99 Tutorials".
Ja komanda tiek veiksmīgi izpildīta, palaižot kodu pārlūkprogrammā, tiks parādīta šāda izeja.
Izeja:
No izejas
- Jūs skaidri redzat, ka, pārlūkojot vietējā hosta URL portā 3000, lapā redzēsit virkni “Welcome to Guru99 Tutorials”.
- Tāpēc, ka mūsu kodā mēs esam pieminējuši, ka mūsu noklusējuma URL parādīs šo ziņojumu.
No izejas
- Jūs varat redzēt, ka, ja URL ir mainīts uz / Node, tiks izvēlēts attiecīgais Node maršruts un tiek parādīta virkne "Tutorial On Node".
No izejas
- Jūs varat redzēt, ka, ja URL ir mainīts uz / Angular, tiks izvēlēts attiecīgais mezgla maršruts un tiek parādīta virkne "Tutorial On Angular".
Tīmekļa servera paraugs, izmantojot express.js
No mūsu iepriekš minētā piemēra mēs esam redzējuši, kā mēs varam izlemt, kādu rezultātu rādīt, pamatojoties uz maršrutēšanu. Šāda veida maršrutēšana tiek izmantota lielākajā daļā mūsdienu tīmekļa lietojumprogrammu. Otra tīmekļa servera daļa ir par veidņu izmantošanu mezglā js.
Veidojot ātras lidojuma Node lietojumprogrammas, vienkāršs un ātrs veids ir lietojumprogrammai izmantot veidnes. Šablonu izgatavošanai tirgū ir pieejamas daudzas sistēmas. Mūsu gadījumā mēs ņemsim piemēru no nefrīta ietvara veidnēm.
Jade tiek instalēta, izmantojot Node Package manager. To var izdarīt, komandrindā izpildot šādu rindu
npm instalēt nefrītu
Iepriekš minētā komanda pieprasa Node pakotņu pārvaldniekam lejupielādēt nepieciešamos nefrīta moduļus un attiecīgi tos instalēt.
PIEZĪME . Jaunākajā Node versijā skuķis ir novecojis. Tā vietā izmantojiet mopsu.
Izmantosim mūsu nesen instalēto nefrīta sistēmu un izveidosim dažas pamata veidnes.
1. solis . Pirmais solis ir nefrīta veidnes izveide. Izveidojiet failu ar nosaukumu index.jade un ievietojiet zemāk esošo kodu. Pārliecinieties, vai izveidojat failu mapē "skati"
- Šeit mēs norādām, ka lapas nosaukums tiks mainīts uz jebkuru vērtību, kas tiek nodota, kad tiek izmantota šī veidne.
- Mēs arī precizējam, ka teksts galvenes tagā tiks aizstāts ar visu, kas tiek nodots nefrīta veidnē.
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() {});
Koda skaidrojums:
- Vispirms lietojumprogrammā jānorāda "skata dzinējs", kas tiks izmantots veidņu renderēšanai. Tā kā veidņu atveidošanai mēs izmantosim nefrītu, mēs to attiecīgi norādām.
- Atveidošanas funkciju izmanto tīmekļa lapas renderēšanai. Šajā piemērā mēs atveidojam veidni (index.jade), kas tika izveidota agrāk.
- "Guru99" un "Welcome" vērtības mēs nododam attiecīgi parametriem "title" un "message". Šīs vērtības tiks aizstātas ar parametriem “title” un “message”, kas deklarēti veidnē index.jade.
Ja komanda tiek veiksmīgi izpildīta, palaižot kodu pārlūkprogrammā, tiks parādīta šāda izeja.
Izeja:
No izejas
- Mēs varam redzēt, ka lapas nosaukums tiek iestatīts uz “Guru99” un lapas galvene tiek iestatīta uz “Welcome”.
- Tas notiek nefrīta veidnes dēļ, kas tiek izsaukta mūsu mezgla js lietojumprogrammā.
Kopsavilkums
- Ekspress ietvars ir visizplatītākais ietvars, ko izmanto Node js lietojumprogrammu izstrādei. Ekspress ietvars ir veidots virs node.js ietvara un palīdz ātri izsekot uz servera balstītu lietojumprogrammu izstrādei.
- Maršruti tiek izmantoti, lai novirzītu lietotājus uz dažādām tīmekļa lietojumprogrammu daļām, pamatojoties uz veikto pieprasījumu. Katra maršruta reakciju var mainīt atkarībā no tā, kas jāparāda lietotājam.
- Veidnes var izmantot, lai efektīvi ievadītu saturu. Jade ir viens no populārākajiem veidņu dzinējiem, ko izmanto Node.js lietojumprogrammās.