Šioje pamokoje nagrinėsime „Express“ sistemą. Ši sistema sukurta taip, kad ji veikia kaip minimali ir lanksti „Node.js“ žiniatinklio programų sistema, suteikianti patikimą funkcijų rinkinį kuriant vieną ir kelis puslapius bei hibridines žiniatinklio programas.
Šioje pamokoje sužinosite
- Kas yra Express.js?
- „Express“ diegimas ir naudojimas
- Kas yra maršrutai?
- Interneto serverio pavyzdys naudojant express.js
Kas yra Express.js?
„Express.js“ yra „Node js“ žiniatinklio programų serverio sistema, specialiai sukurta vieno puslapio, kelių puslapių ir hibridinėms žiniatinklio programoms kurti.
Tai tapo standartine serverio sistema „node.js“. „Express“ yra to, kas vadinama „MEAN“ kaminu, vidinė dalis.
MEAN yra nemokama ir atviro kodo „JavaScript“ programinės įrangos pakuotė, skirta kurti dinamiškas svetaines ir žiniatinklio programas, turinti šiuos komponentus;
1) „MongoDB“ - standartinė „NoSQL“ duomenų bazė
2) Express.js - numatytoji žiniatinklio programų sistema
3) Angular.js - „JavaScript“ MVC sistema, naudojama žiniatinklio programoms
4) Node.js - sistema, naudojama keičiamo dydžio serverio ir tinklo programoms.
„Express.js“ sistema leidžia labai lengvai sukurti programą, kuri gali būti naudojama įvairių tipų užklausoms, pvz., GET, PUT, POST ir DELETE, apdoroti.
„Express“ diegimas ir naudojimas
„Express“ įdiegiama per „Node Package Manager“. Tai galima padaryti vykdant šią eilutę komandinėje eilutėje
npm „install express“
Pirmiau nurodyta komanda reikalauja „Node“ paketų tvarkyklės atsisiųsti reikiamus „Express“ modulius ir juos atitinkamai įdiegti.
Panaudokime naujai įdiegtą „Express“ sistemą ir sukursime paprastą „Hello World“ programą.
Mūsų programa ketina sukurti paprastą serverio modulį, kuris klausys prievado numerio 3000. Mūsų pavyzdyje, jei užklausa pateikiama per naršyklę, naudojant šį prievado numerį, tada serverio programa klientui atsiųs „Hello“ World “atsakymą. .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Kodo paaiškinimas:
- Pirmoje kodo eilutėje mes naudojame funkciją „reikalauti“, kad įtrauktume „greitąjį modulį“.
- Kad galėtume pradėti naudoti greitąjį modulį, turime padaryti jo objektą.
- Čia mes kuriame atgalinio skambinimo funkciją. Ši funkcija bus iškviesta, kai kas nors naršys prie mūsų žiniatinklio programos šaknies, kuri yra http: // localhost: 3000 . Atgalinio skambučio funkcija bus naudojama norint išsiųsti eilutę „Hello World“ į tinklalapį.
- Atgalinio skambinimo funkcijoje klientui siunčiame eilutę „Hello World“. Parametras „res“ naudojamas siunčiant turinį atgal į tinklalapį. Šį „res“ parametrą pateikia „request“ modulis, kad būtų galima siųsti turinį atgal į tinklalapį.
- Tada mes naudojame klausymosi funkciją, kad mūsų serverio programa išklausytų kliento užklausas 3000 uoste. Čia galite nurodyti bet kokį galimą prievadą.
Jei komanda sėkmingai vykdoma, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Iš išvesties
- Jūs aiškiai matote, kad jei mes naršysime vietinio serverio URL, esantį 3000 prievade, puslapyje pamatysite eilutę „Hello World“.
- Kadangi savo kode mes specialiai paminėjome, kad serveris galėtų klausytis 3000 prievado, mes galime peržiūrėti išvestį naršydami šiame URL.
Kas yra maršrutai?
Maršrutavimas nustato, kaip programa reaguoja į kliento užklausą į tam tikrą galinį tašką.
Pvz., Klientas gali pateikti GET, POST, PUT arba DELETE http užklausą įvairiems URL, pavyzdžiui, nurodytiems toliau;
http://localhost:3000/Bookshttp://localhost:3000/Students
Ankstesniame pavyzdyje
- Jei pateikiama GET užklausa dėl pirmojo URL, geriausia būtų atsakyti į knygų sąrašą.
- Jei GET užklausa pateikiama dėl antrojo URL, geriausiu atveju atsakymas turėtų būti Studentų sąrašas.
- Taigi, atsižvelgiant į prieigą prie URL, bus naudojama kita serverio funkcija ir atitinkamai atsakymas bus išsiųstas klientui. Tai yra maršruto koncepcija.
Kiekvienas maršrutas gali turėti vieną ar kelias tvarkytojo funkcijas, kurios bus vykdomos suderinus maršrutą.
Bendra maršruto sintaksė parodyta žemiau
app.METHOD(PATH, HANDLER)
Kur
1) programa yra greito modulio egzempliorius
2) METODAS yra HTTP užklausos metodas (GET, POST, PUT arba DELETE)
3) PATH yra kelias serveryje.
4) HANDLER yra funkcija, vykdoma suderinus maršrutą.
Pažvelkime į pavyzdį, kaip mes galime įgyvendinti maršrutus greitame. Mūsų pavyzdys sukurs 3 maršrutus kaip
- „A / Node“ maršrutas, kuriame bus rodoma eilutė „Pamoka ant mazgo“, jei pasieksite šį maršrutą
- A / kampinis maršrutas, kuriame bus rodoma eilutė „Pamoka kampu“, jei pasieksite šį maršrutą
- Numatytasis maršrutas / kuriame bus rodoma eilutė „Sveiki atvykę į„ Guru99 “mokymo programas“.
Pagrindinis mūsų kodas išliks toks pat kaip ir ankstesnių pavyzdžių. Žemiau pateiktas fragmentas yra priedas, parodantis, kaip vykdomas maršrutas.
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');}));
Kodo paaiškinimas:
- Čia mes nustatome maršrutą, jei naršyklėje pasirinktas URL http: // localhost: 3000 / Node . Prie maršruto pridedame atgalinio skambinimo funkciją, kuri bus iškviesta naršant prie mazgo URL.
Funkcija turi 2 parametrus.
- Pagrindinis parametras, kurį naudosime, yra „res“ parametras, kuris gali būti naudojamas informacijai siųsti klientui atgal.
- Parametras „req“ turi informacijos apie pateikiamą užklausą. Kartais kaip užklausos dalis gali būti siunčiami papildomi parametrai, todėl parametrą „req“ galima naudoti norint rasti papildomus siunčiamus parametrus.
- Mes naudojame siuntimo funkciją, kad klientui išsiųstume eilutę „Pamoka apie mazgą“, jei pasirinktas Mazgo maršrutas.
- Čia mes nustatome maršrutą, jei naršyklėje pasirinktas URL http: // localhost: 3000 / Angular . Prie maršruto pridedame atgalinio skambinimo funkciją, kuri bus iškviesta naršant iki kampinio URL.
- Mes naudojame siuntimo funkciją norėdami išsiųsti klientui eilutę „Pamoka kampu“, jei pasirenkamas kampinis maršrutas.
- Tai yra numatytasis maršrutas, kuris pasirenkamas naršant prie programos maršruto - http: // localhost: 3000 . Pasirinkus numatytąjį maršrutą, klientui bus išsiųstas pranešimas „Sveiki atvykę į„ Guru99 “pamokas“.
Jei komanda sėkmingai vykdoma, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Iš išvesties
- Jūs aiškiai matote, kad jei mes naršysime vietinio serverio URL, esantį 3000 prievade, puslapyje pamatysite eilutę „Sveiki atvykę į„ Guru99 “mokymo programas“.
- Kadangi savo kode minėjome, kad numatytasis URL rodys šį pranešimą.
Iš išvesties
- Galite pamatyti, kad jei URL buvo pakeistas į / Node, bus pasirinktas atitinkamas Node maršrutas ir rodoma eilutė „Tutorial On Node“.
Iš išvesties
- Galite pamatyti, kad jei URL buvo pakeistas į / Angular, bus pasirinktas atitinkamas Mazgo maršrutas ir rodoma eilutė „Tutorial On Angular“.
Interneto serverio pavyzdys naudojant express.js
Iš mūsų aukščiau pateikto pavyzdžio matėme, kaip mes galime nuspręsti, kokią išvestį rodyti, remdamiesi maršrutu. Toks maršruto parinkimas yra naudojamas daugumoje šiuolaikinių interneto programų. Kita žiniatinklio serverio dalis skirta šablonų naudojimui „Node js“.
Kuriant greitas „Node“ programas skrendant, paprastas ir greitas būdas yra naudoti programos šablonus. Rinkoje yra daugybė šablonų kūrimo sistemų. Mūsų atveju imsime nefrito sistemos pavyzdį šablonams.
Jade įdiegiama per „Node Package“ tvarkyklę. Tai galima padaryti vykdant šią eilutę komandinėje eilutėje
npm įdiegti nefritą
Pirmiau nurodyta komanda reikalauja „Node“ paketų tvarkyklės atsisiųsti reikiamus nefrito modulius ir juos atitinkamai įdiegti.
PASTABA: Naujausioje „Node“ versijoje nefritas buvo nebenaudojamas. Verčiau naudokite mopsą.
Panaudokime naujai įdiegtą nefrito sistemą ir sukursime keletą pagrindinių šablonų.
1 žingsnis) Pirmasis žingsnis yra sukurti nefrito šabloną. Sukurkite failą pavadinimu index.jade ir įterpkite žemiau esantį kodą. Įsitikinkite, kad sukūrėte failą aplanke „rodiniai“
- Čia mes nurodome, kad puslapio pavadinimas bus pakeistas į bet kurią reikšmę, kai bus naudojamas šis šablonas.
- Mes taip pat nurodome, kad antraštės žymos tekstas bus pakeistas į viską, kas bus perduota nefrito šablone.
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() {});
Kodo paaiškinimas:
- Pirmas dalykas, kurį reikia nurodyti programoje, yra „rodinio variklis“, kuris bus naudojamas šablonams pateikti. Kadangi šablonams atvaizduoti naudosime nefritą, mes tai atitinkamai nurodome.
- Pateikimo funkcija naudojama tinklalapiui atvaizduoti. Mūsų pavyzdyje pateikiame anksčiau sukurtą šabloną (index.jade).
- „Guru99“ ir „Welcome“ reikšmes atitinkamai perduodame parametrams „title“ ir „message“. Šios vertės bus pakeistos parametrais „title“ ir „message“, nurodytuose index.jade šablone.
Jei komanda sėkmingai vykdoma, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Iš išvesties
- Matome, kad puslapio pavadinimas nustatomas kaip „Guru99“, o puslapio antraštė nustatoma į „Sveiki“.
- Taip yra dėl nefrito šablono, kuris yra iškviečiamas mūsų mazgo js programoje.
Santrauka
- Express sistema yra labiausiai paplitusi sistema, naudojama kuriant „Node js“ programas. „Express“ sistema yra pastatyta ant „node.js“ sistemos ir padeda greitai stebėti serverio programas.
- Maršrutai naudojami nukreipti vartotojus į skirtingas žiniatinklio programų dalis, atsižvelgiant į pateiktą užklausą. Kiekvieno maršruto atsakas gali būti įvairus, atsižvelgiant į tai, ką reikia parodyti vartotojui.
- Šablonai gali būti naudojami efektyviam turinio įterpimui. „Jade“ yra vienas populiariausių šablonų variklių, naudojamų „Node.js“ programose.