„Node.js“ modulis yra loginis kodo sujungimas į vieną vienetą. Visada gera programavimo praktika visada atskirti kodą taip, kad jis būtų lengviau valdomas ir prižiūrimas ateities tikslais. Štai kur veikia „Node.js“ moduliai.
Kadangi kiekvienas modulis yra savarankiškas subjektas, turintis savo talpinamą funkcionalumą, jį galima valdyti kaip atskirą darbo vienetą.
Šioje pamokoje sužinosite
- Kas yra „Node.js“ moduliai
- Modulių naudojimas „Node.js“
- NPM modulių kūrimas
- Modulių išplėtimas
- NPM modulių leidyba
- Trečiųjų šalių paketų valdymas naudojant npm
- Kas yra failas „package.json“
Kas yra „Node.js“ moduliai?
Kaip minėta anksčiau, „Node js“ moduliai yra būdas koduoti kodą atskirame loginiame vienete. Rinkoje yra daug paruoštų modulių, kuriuos galima naudoti „Node js“.
Žemiau yra keletas populiarių modulių, kurie naudojami „Node js“ programoje
- „Express“ sistema - „Express“ yra minimali ir lanksti „Node js“ žiniatinklio programų sistema, teikianti patikimą funkcijų rinkinį žiniatinklio ir mobiliesiems įrenginiams.
- „Socket.io“ - „Socket.IO“ įgalina realiuoju laiku dvikryptį įvykių ryšį. Šis modulis yra tinkamas kuriant pokalbių programas.
- „Jade“ - „Jade“ yra didelio našumo šablonų variklis, įdiegtas naudojant „JavaScript“ mazgams ir naršyklėms.
- „MongoDB“ - „MongoDB Node.js“ tvarkyklė yra oficialiai palaikoma „Node.js“ tvarkyklė, skirta „MongoDB“.
- „Restify - restify“ yra lengvas karkasas, panašus į „express“ REST API kūrimui
- „Bluebird“ - „Bluebird“ yra visapusiška pažadų biblioteka, orientuota į novatoriškas funkcijas ir našumą
Modulių naudojimas „Node.js“
Norint naudoti modulius „Node.js“ programoje, juos pirmiausia reikia įdiegti naudojant „Node“ paketų tvarkyklę.
Žemiau esančioje komandinėje eilutėje parodoma, kaip galima įdiegti modulį „express“.
npm „install express“
- Aukščiau nurodyta komanda atsisiųs reikiamus failus, kuriuose yra „greitieji moduliai“, taip pat pasirūpins diegimu
- Įdiegus modulį, norint naudoti modulį „Node.js“ programoje, turite naudoti „reikalauti“ raktinį žodį. Šis raktinis žodis yra būdas, kurį „Node.js“ naudoja modulio funkcijoms integruoti į programą.
Pažvelkime į pavyzdį, kaip galime naudoti raktinį žodį „reikalauti“. Žemiau pateiktame „Guru99“ kodo pavyzdyje parodyta, kaip naudotis reikalinga funkcija
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- Pirmame sakinyje mes naudojame raktinį žodį „reikalauti“, kad įtrauktumėte greitojo modulio. „Express“ modulis yra optimizuota „JavaScript“ biblioteka, skirta kurti „Node.js“. Tai yra vienas iš dažniausiai naudojamų „Node.js“ modulių.
- Įtraukus modulį, norint naudoti modulio funkcionalumą, reikia sukurti objektą. Čia sukuriamas greito modulio objektas.
- Įtraukus modulį naudojant komandą „reikalauti“ ir sukūrus „objektą“, galima pasinaudoti reikalaujamais greitojo modulio metodais. Čia mes naudojame komandą „set“, kad nustatytume rodinio variklį, kuris naudojamas nustatyti šablonų variklį, naudojamą „Node.js“.
Pastaba: - (Tik skaitytojui suprantant; šablonų variklis yra būdas įterpti reikšmes į programą renkant duomenis iš duomenų failų. Ši sąvoka yra gana garsi „Angular JS“, kur naudojami garbanotieji petnešos {{key}} pakeičia reikšmes tinklalapyje. Žodis „raktas“ garbanotose petnešose iš esmės žymi kintamąjį, kurį pakeis reikšmė, kai bus parodytas puslapis.)
- Čia mes naudojame klausymosi metodą, kad programa klausytų konkretaus prievado numerio.
NPM modulių kūrimas
„Node.js“ turi galimybę kurti pasirinktinius modulius ir leidžia tuos pasirinktinius modulius įtraukti į „Node.js“ programą.
Pažvelkime į paprastą pavyzdį, kaip mes galime sukurti savo modulį ir įtraukti tą modulį į savo pagrindinį programos failą. Mūsų modulis atliks paprastą užduotį - pridėti du skaičius.
Atlikime toliau nurodytus veiksmus, norėdami sužinoti, kaip galime sukurti modulius ir įtraukti juos į savo programą.
1 žingsnis) Sukurkite failą pavadinimu „Addition.js“ ir įtraukite žemiau esantį kodą. Šiame faile bus jūsų modulio logika.
Žemiau yra kodas, kuris pateks į šį failą;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Raktinis žodis „eksportas“ naudojamas užtikrinti, kad šiame faile apibrėžtą funkciją iš tikrųjų galėtų pasiekti kiti failai.
- Tada mes apibrėžiame funkciją, vadinamą „AddNumber“. Ši funkcija apibrėžiama atsižvelgiant į 2 parametrus: a ir b. Funkcija pridedama prie „eksporto“ modulio, kad funkcija taptų vieša funkcija, prie kurios gali prisijungti kiti programų moduliai.
- Pagaliau savo funkcijai suteikiame pridėtinę parametrų vertę.
Dabar, kai sukūrėme savo pasirinktinį modulį, kurio funkcija yra pridėti 2 numerius. Atėjo laikas sukurti programą, kuri paskambins į šį modulį.
Kitame etape mes iš tikrųjų pamatysime, kaip sukurti programą, kuri iškvies mūsų pasirinktinį modulį.
2 žingsnis) Sukurkite failą pavadinimu „app.js“, kuris yra jūsų pagrindinis programos failas, ir pridėkite žemiau esantį kodą
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- Norėdami įtraukti funkcijas į failą „Addition.js“, naudojame raktinį žodį „reikalauti“.
- Kadangi funkcijos „Addition.js“ dabar yra prieinamos, dabar galime paskambinti į funkciją „AddNumber“. Funkcijoje mes perduodame 2 skaičius kaip parametrus. Tada mes rodome vertę konsolėje.
Išvestis :
- Kai paleisite failą „app.js“, konsolės žurnale gausite 3 vertės išvestį.
- Rezultatas yra tas, kad failo Addition.js funkcija AddNumber buvo sėkmingai iškviesta, o grąžinta 3 vertė buvo rodoma konsolėje.
Pastaba: - Mes dar nenaudojame „Mazgo paketų tvarkyklės“, kad įdiegtume modulį Addition.js. Taip yra todėl, kad modulis jau yra mūsų vietinio kompiuterio projekto dalis. „Node“ paketų tvarkyklė yra paveikslėlyje, kai internete paskelbiate modulį, kurį matome tolesnėje temoje.
Modulių išplėtimas
Kuriant modulius taip pat galima išplėsti arba paveldėti vieną modulį iš kito.
Šiuolaikiniame programavime yra gana įprasta sukurti bendrų modulių biblioteką ir, jei reikia, išplėsti šių bendrų modulių funkcionalumą.
Pažvelkime į pavyzdį, kaip išplėsti modulius „Node.js“.
1 žingsnis) Sukurkite pagrindinį modulį.
Mūsų pavyzdyje sukurkite failą pavadinimu „Tutorial.js“ ir įdėkite žemiau esantį kodą.
Šiame kode mes tiesiog kuriame funkciją, kuri grąžina eilutę į konsolę. Grąžinta eilutė yra „Guru99 pamoka“.
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Eksporto modulis naudojamas taip, kad bet kuri šiame faile apibrėžta funkcija būtų pasiekiama kituose „Node.js“ moduliuose
- Mes kuriame funkciją, vadinamą mokymo programa, kurią galima naudoti kituose „Node.js“ moduliuose.
- Kai ši funkcija iškviečiama, konsolėje rodome eilutę „Guru99 pamoka“.
Dabar, kai sukūrėme pagrindinį modulį, pavadintą „Tutorial.js“. Dabar atėjo laikas sukurti kitą modulį, kuris išplės šį pagrindinį modulį.
Mes ištirsime, kaip tai padaryti kitame etape.
2 žingsnis) Tada sukursime išplėstinį modulį. Sukurkite naują failą pavadinimu „NodeTutorial.js“ ir įdėkite žemiau esantį kodą į failą.
var Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")function pTutor(){var PTutor=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}
Atkreipkite dėmesį, šie pagrindiniai punktai apie aukščiau pateiktą kodą
- Pačiame naujame modulio faile naudojame funkciją „reikalauti“. Kadangi ketiname išplėsti esamą modulio failą „Tutorial.js“, pirmiausia jį turime įtraukti prieš išplėsdami.
- Tada mes sukuriame funkciją, vadinamą „Nodetutorial“. Ši funkcija atliks 2 dalykus,
- Jis į konsolę nusiųs eilutę „Mazgo pamoka“.
- Jis išsiųs eilutę „Guru99 Tutorial“ iš pagrindinio modulio „Tutorial.js“ į mūsų išplėstinį modulį „NodeTutorial.js“.
- Čia mes atliekame pirmąjį žingsnį, norėdami išsiųsti eilutę į "Mazgo pamoką" į konsolę.
- Kitas žingsnis - iškviesti funkciją iš mūsų „Tutorial“ modulio, kuris išves eilutę „Guru99 Tutorial“ į konsolę.log.
3 žingsnis) Sukurkite pagrindinį failą „app.js“, kuris yra jūsų pagrindinis programos failas, ir įtraukite žemiau esantį kodą.
var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object
Aukščiau pateiktas kodas atlieka šiuos veiksmus;
- Pagrindinis mūsų programos failas dabar vadinamas „NodeTutorial“ moduliu.
- Skambiname funkcija „NodeTutorial“. Paskambinus į šią funkciją, konsolės žurnale bus rodomas tekstas „Mazgo pamoka“.
- Kadangi mes išplėtėme savo Tutorial.js modulį ir atidengėme funkciją, vadinamą pTutor. Jis taip pat iškviečia pamokų modulį „Tutorial.js“ modulyje, o tekstas „Guru99 pamoka“ taip pat bus rodomas konsolėje.
Išvestis:
Kadangi mes įvykdėme pirmiau nurodytą „app.js“ kodą naudodami „Node“, gausime šią išvestį „console.log“ faile
- Mazgo pamoka
- „Guru99“ pamoka
NPM („Node Package Manager“) modulių skelbimas
Galima paskelbti savo modulį savo „Github“ saugykloje.
Paskelbdami savo modulį centrinėje vietoje, jūs neapsunkinate savo poreikio įsidiegti kiekvienoje mašinoje, kuriai to reikia.
Vietoj to galite naudoti komandą „npm“ įdiegti ir įdiegti paskelbtą „npm“ modulį.
Norint paskelbti savo npm modulį, reikia atlikti šiuos veiksmus
1 žingsnis) Sukurkite saugyklą „GitHub“ (internetinis kodų saugyklos valdymo įrankis). Jis gali būti naudojamas jūsų kodų saugykloms talpinti.
2 žingsnis. Turite pasakyti vietiniam npm diegimui, kas jūs esate. Tai reiškia, kad mes turime pasakyti npm, kas yra šio modulio autorius, koks yra el. Pašto ID ir bet koks galimas įmonės URL, kurį reikia susieti su šiuo ID. Visa ši informacija bus pridėta prie jūsų npm modulio, kai jis bus paskelbtas.
Žemiau nurodytos komandos nustato npm modulio autoriaus vardą, el. Pašto adresą ir URL.
npm nustatykite init.author.name „Guru99“.
npm set init.author.email " Šis el. pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įgalinti JavaScript, kad galėtumėte jį pamatyti."
npm nustatykite init.author.url http://Guru99.com
3 žingsnis) Kitas žingsnis yra prisijungti prie npm naudojant paskutiniame žingsnyje pateiktus kredencialus. Norėdami prisijungti, turite naudoti žemiau esančią komandą
npm login
4 žingsnis) Inicializuokite savo paketą - kitas žingsnis yra inicijuoti paketą, kad būtų sukurtas failas package.json. Tai galima padaryti išleidus žemiau esančią komandą
npm init
Kai pateiksite pirmiau nurodytą komandą, būsite paraginti pateikti keletą klausimų. Svarbiausias yra jūsų modulio versijos numeris.
5 žingsnis) Paskelbti „GitHub“ - kitas žingsnis yra paskelbti šaltinio failus „GitHub“. Tai galima padaryti vykdant toliau nurodytas komandas.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
6 žingsnis) Paskelbkite savo modulį - galutinis bitas yra paskelbti modulį npm registre. Tai atliekama naudojant žemiau esančią komandą.
npm publish
Trečiųjų šalių paketų valdymas naudojant npm
Kaip matėme, „Node package manager“ turi galimybę valdyti modulius, kurių reikalauja „Node.js“ programos.
Pažvelkime į kai kurias mazgo paketų tvarkytuvėje esančias funkcijas moduliams valdyti
-
Paketų diegimas pasauliniu režimu - modulius galima įdiegti pasauliniu lygiu, o tai iš esmės reiškia, kad šie moduliai būtų prieinami visiems „Node.js“ projektams vietinėje mašinoje. Žemiau pateiktame pavyzdyje parodyta, kaip įdiegti „greitąjį modulį“ su visuotine parinktimi.
npm įdiegti express -global
Ankstesniame teiginyje pateiktas visuotinis pasirinkimas leidžia modulius įdiegti pasauliniu lygiu.
-
Išvardijami visi vietiniame kompiuteryje įdiegti visuotiniai paketai. Tai galima padaryti vykdant žemiau esančią komandą komandinėje eilutėje
npm sąrašas - pasaulinis
Žemiau yra išvestis, kuri bus parodyta, jei anksčiau įdiegėte "greitąjį modulį" savo sistemoje.
Čia galite pamatyti skirtingus modulius, įdiegtus vietiniame kompiuteryje.
-
Konkrečios paketo versijos diegimas - kartais gali reikėti įdiegti tik konkrečią paketo versiją. Kai žinosite paketo pavadinimą ir atitinkamą versiją, kurią reikia įdiegti, galite naudoti komandą npm install, kad įdiegtumėte tą konkrečią versiją.
Žemiau pateiktame pavyzdyje parodyta, kaip įdiegti modulį, vadinamą pabraukimu, su konkrečia 1.7.0 versija
npm įdiegti pabraukimą@1.7.0
-
Paketo versijos atnaujinimas - kartais sistemoje gali būti senesnė paketo versija ir galbūt norėsite atnaujinti į naujausią rinkoje esančią. Norėdami tai padaryti, galite naudoti komandą npm update. Žemiau pateiktame pavyzdyje parodyta, kaip atnaujinti pabraukimo paketą į naujausią versiją
npm atnaujinimo pabraukimas
-
Konkretaus paketo paieška - norėdami ieškoti, ar tam tikra versija yra vietinėje sistemoje, galite naudoti paieškos komandą npm. Toliau pateiktame pavyzdyje bus patikrinta, ar „Express“ modulis įdiegtas vietiniame kompiuteryje, ar ne.
npm paieškos ekspresas
-
Paketo pašalinimas - tą patį, kuriame galite įdiegti paketą, taip pat galite pašalinti paketą. Paketo pašalinimas atliekamas naudojant npm pašalinimo komandą. Žemiau pateiktame pavyzdyje parodyta, kaip pašalinti greitojo modulio
npm pašalinkite greitąjį
Kas yra failas „package.json“
Failas „package.json“ naudojamas laikyti konkretaus projekto metaduomenis . Ši informacija suteikia „Node“ paketų tvarkytuvei reikiamą informaciją, kad suprastų, kaip reikia tvarkyti projektą ir jo priklausomybes.
Failuose „pack.json“ yra tokia informacija kaip projekto aprašymas, projekto versija konkrečiame paskirstyme, licencijos informacija ir konfigūracijos duomenys.
Failas „package.json“ paprastai yra „Node.js“ projekto šakniniame kataloge.
Paimkime pavyzdį, kaip atrodo modulio struktūra, kai jis yra įdiegtas per npm.
Žemiau pateiktoje momentinėje nuotraukoje rodomas greitojo modulio failo turinys, kai jis yra įtrauktas į jūsų Node.js projektą. Momentinėje nuotraukoje galite pamatyti failą „package.json“, esantį „express“ aplanke.
Jei atidarysite failą package.json, faile pamatysite daug informacijos.
Žemiau pateikiama failo dalies momentinė nuotrauka. Express@~4.13.1 pamini naudojamos versijos numeris aiškaus modulį.
Santrauka
- „Node.js“ modulis yra loginis kodo sujungimas į vieną vienetą. Atskyrus modulius, kodas bus lengviau valdomas ir prižiūrimas ateities tikslais
- Rinkoje yra daug modulių, kuriuos galima naudoti „Node.js“, pvz., „Express“, „pabraukimas“, „MongoDB“ ir kt.
- Mazgo paketų tvarkyklė (npm) naudojama atsisiųsti ir įdiegti modulius, kuriuos vėliau galima naudoti „Node.js“ programoje.
- Galima sukurti pasirinktinius NPM modulius, išplėsti šiuos modulius ir taip pat juos paskelbti.
- „Node“ paketų tvarkytuvėje yra visas komandų rinkinys, skirtas valdyti npm modulius vietinėje sistemoje, pvz., Diegimą, diegimo pašalinimą, paiešką ir kt.
- Failas „package.json“ naudojamas laikyti visą npm modulio metaduomenų informaciją.