Node.js NPM Vodič: Kako stvoriti, proširiti, objaviti module
Moduli Node.js
Modul u Node.js je logična enkapsulacija koda u jednoj jedinici. Uvijek je dobra programska praksa uvijek odvojiti kod na način koji ga čini lakšim za upravljanje i održavanjem za buduće svrhe. Tu na djelu stupaju moduli u Node.js.
Budući da je svaki modul neovisna cjelina s vlastitom enkapsuliranom funkcionalnošću, njime se može upravljati kao zasebnom jedinicom rada.
Što je modul u Node.js?
Kao što je ranije rečeno, moduli u Node js način su enkapsulacije koda u zasebnu logičku jedinicu. Na tržištu je dostupno mnogo gotovih modula koji se mogu koristiti unutar Node js.
Ispod su neki od popularnih modula koji se koriste u Node js aplikaciji
- Ekspresni okvir – Express je minimalan i fleksibilan okvir web aplikacije Node js koji pruža robustan skup značajki za web i mobilni aplikacija.
- Utičnica.io – Socket.IO omogućuje dvosmjernu komunikaciju temeljenu na događajima u stvarnom vremenu. Ovaj modul je dobar za stvaranje aplikacija koje se temelje na razgovoru.
- Žad – Jade je motor predložaka visokih performansi i implementiran je s JavaScript za čvor i preglednike.
- MongoDB - MongoDB Node.js upravljački program službeno je podržan node.js upravljački program za MongoDB.
- Popravite – restify je lagani okvir, sličan expressu za izgradnju REST API-ja
- plava ptica – Bluebird je knjižnica obećanja s punim značajkama s fokusom na inovativne značajke i performanse
Korištenje modula u Node.js
Kako biste koristili module u a Node.js aplikaciju, prvo ih je potrebno instalirati pomoću upravitelja paketa Node.
Donja naredbena linija pokazuje kako se može instalirati modul “express”.
npm instalirajte ekspresno
- Gornja naredba će preuzeti potrebne datoteke koje sadrže "ekspresne module" i pobrinuti se za instalaciju
- Nakon što je modul instaliran, da biste koristili modul u Node.js aplikaciji, morate koristiti ključnu riječ 'require'. Ova je ključna riječ način na koji se Node.js koristi za uključivanje funkcionalnosti modula u aplikaciju.
Pogledajmo primjer kako možemo koristiti ključnu riječ “require”. Donji primjer koda "Guru99" pokazuje kako se koristi funkcija require
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { }); var server=app.listen(3000,function() { });
- U samoj prvoj izjavi koristimo ključnu riječ “require” za uključivanje modula express. Modul “express” je optimiziran JavaScript biblioteka za razvoj Node.js. Ovo je jedan od najčešće korištenih modula Node.js.
- Nakon uključivanja modula, za korištenje funkcionalnosti unutar modula potrebno je kreirati objekt. Ovdje se kreira objekt ekspresnog modula.
- Nakon što je modul uključen pomoću naredbe “require” i kreiran je “objekt”, mogu se pozvati tražene metode modula express. Ovdje koristimo naredbu set za postavljanje mehanizma prikaza, koji se koristi za postavljanje mehanizma za izradu predložaka koji se koristi u Node.js.
- Ovdje koristimo metodu slušanja kako bismo natjerali aplikaciju da sluša na određenom broju priključka.
Napomena: -(Samo da čitatelj razumije; mehanizam za izradu predložaka je pristup za ubacivanje vrijednosti u aplikaciju prikupljanjem podataka iz podatkovnih datoteka. Ovaj koncept je prilično poznat u Angular JS-u gdje se vitičaste zagrade {{ ključ }} koriste za zamjenu vrijednosti u web stranicu. Riječ 'ključ' u vitičastim zagradama u osnovi označava varijablu koja će biti zamijenjena vrijednošću kada se stranica prikaže.)
Kako stvoriti NPM module
Node.js ima mogućnost stvaranja prilagođenih modula i omogućuje vam uključivanje tih prilagođenih modula u vašu Node.js aplikaciju.
Pogledajmo jednostavan primjer kako možemo stvoriti vlastiti modul i uključiti taj modul u našu glavnu aplikacijsku datoteku. Naš modul će samo obaviti jednostavan zadatak zbrajanja dva broja.
Slijedimo korake u nastavku da vidimo kako možemo izraditi module i uključiti ih u našu aplikaciju.
Slijedi postupak korak po korak za stvaranje NPM modula
Korak 1) Napravite datoteku i zalijepite donji kod
Napravite datoteku pod nazivom "Addition.js" i uključite donji kod. Ova datoteka će sadržavati logiku za vaš modul.
Ispod je kod koji bi išao u ovu datoteku;
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- Ključna riječ "exports" koristi se kako bi se osiguralo da se funkcionalnosti definiranoj u ovoj datoteci zapravo može pristupiti drugim datotekama.
- Zatim definiramo funkciju koja se zove 'AddNumber'. Ova funkcija je definirana da uzima 2 parametra, a i b. Funkcija je dodana modulu “exports” kako bi funkcija postala javna funkcija kojoj mogu pristupiti drugi aplikacijski moduli.
- Napokon činimo da naša funkcija vraća dodanu vrijednost parametara.
Sada kada smo izradili naš prilagođeni modul koji ima funkciju dodavanja 2 broja. Sada je vrijeme za izradu aplikacije koja će pozvati ovaj modul.
U sljedećem koraku ćemo zapravo vidjeti kako izraditi aplikaciju koja će pozvati naš prilagođeni modul.
Korak 2) Stvorite aplikacijsku datoteku
Napravite datoteku pod nazivom "app.js", koja je vaša glavna aplikacijska datoteka i dodajte donji kod
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- Koristimo ključnu riječ “require” za uključivanje funkcionalnosti u datoteku Addition.js.
- Budući da su funkcije u datoteci Addition.js sada dostupne, sada možemo pozvati funkciju AddNumber. U funkciji prosljeđujemo 2 broja kao parametre. Zatim prikazujemo vrijednost u konzoli.
Izlaz:
- Kada pokrenete datoteku app.js, dobit ćete izlaznu vrijednost 3 u zapisniku konzole.
- Rezultat je zato što je funkcija AddNumber u datoteci Addition.js uspješno pozvana, a vraćena vrijednost 3 prikazana je na konzoli.
Bilješka: – Još uvijek ne koristimo “Node package manager” za instaliranje našeg Addition.js modula. To je zato što je modul već dio našeg projekta na lokalnom računalu. Upravitelj paketa Node pojavljuje se kada objavite modul na internetu, što vidimo u sljedećoj temi.
Proširenje modula u Node.js
Prilikom izrade modula također je moguće proširiti ili naslijediti jedan modul od drugog.
U suvremenom programiranju prilično je uobičajeno izgraditi biblioteku zajedničkih modula i zatim proširiti funkcionalnost tih zajedničkih modula ako je potrebno.
Pogledajmo primjer kako možemo proširiti module u Node.js.
Korak 1) Napravite osnovni modul.
U našem primjeru stvorite datoteku pod nazivom "Tutorial.js" i postavite donji kod.
U ovom kodu samo stvaramo funkciju koja vraća niz u konzolu. Vraćeni niz je "Guru99 Tutorial".
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- Modul izvoza koristi se tako da bilo koja funkcija definirana u ovoj datoteci može biti dostupna u drugim modulima u Node.js
- Stvaramo funkciju pod nazivom tutorial koja se može koristiti u drugim modulima Node.js.
- Prikazujemo niz "Guru99 Tutorial" u konzoli kada se ova funkcija pozove.
Sada kada smo kreirali naš osnovni modul pod nazivom Tutorial.js. Sada je vrijeme za stvaranje drugog modula koji će proširiti ovaj osnovni modul.
Istražit ćemo kako to učiniti u sljedećem koraku.
Korak 2) Zatim ćemo izraditi naš prošireni modul. Napravite novu datoteku pod nazivom "NodeTutorial.js" i postavite donji kod u datoteku.
var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") function pTutor() { var PTutor=Tutor PTutor.tutorial(); } } Or var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") this.pTutor = function () { var PTutor=Tutor PTutor.tutorial(); } }
Imajte na umu sljedeće ključne točke o gornjem kodu
- Koristimo funkciju “require” u samoj datoteci novog modula. Budući da ćemo proširiti postojeću datoteku modula "Tutorial.js", moramo je prvo uključiti prije proširenja.
- Zatim stvaramo funkciju pod nazivom "Nodetutorial". Ova funkcija će učiniti 2 stvari,
- Poslat će niz "Node Tutorial" na konzolu.
- Poslat će niz "Guru99 Tutorial" iz osnovnog modula "Tutorial.js" u naš prošireni modul "NodeTutorial.js".
- Ovdje provodimo prvi korak za slanje niza u "Node Tutorial" na konzolu.
- Sljedeći korak je pozivanje funkcije iz našeg modula Tutorial, koji će poslati niz "Guru99 Tutorial" u console.log.
Korak 3) Napravite svoju glavnu datoteku app.js, koja je vaša glavna aplikacijska datoteka i uključite donji kod.
var localTutor=require('./NodeTutorial.js'); localTutor.NodeTutorial(); localTutor.NodeTutorial.pTutor(); Or use this code var tut = new localTutor.NodeTutorial(); // Create and save object tut.pTutor(); // Call function on object
Gornji kod radi sljedeće stvari;
- Naša glavna aplikacijska datoteka sada poziva modul "NodeTutorial".
- Pozivamo funkciju "NodeTutorial". Pozivanjem ove funkcije, tekst “Node Tutorial” bit će prikazan u dnevniku konzole.
- Budući da smo proširili naš modul Tutorial.js i izložili funkciju pod nazivom pTutor. Također poziva modul tutoriala u modulu Tutorial.js, a tekst "Guru99 Tutorial" također će biti prikazan na konzoli.
Izlaz:
Budući da smo izvršili gornji app.js kod koristeći Node, dobit ćemo sljedeći izlaz u datoteci console.log
- Vodič za čvorove
- Guru99 Vodič
NPM (Node Package Manager) paket za objavljivanje
Može se objaviti vlastiti modul za vlastiti Github projekti.
Objavljivanjem vašeg modula na središnjoj lokaciji, tada niste opterećeni potrebom da se instalirate na svaki stroj koji to zahtijeva.
Umjesto toga, možete koristiti instalacijsku naredbu npm-a i instalirati svoj objavljeni npm modul.
Za objavljivanje vašeg npm modula potrebno je slijediti sljedeće korake
Korak 1) Izradite svoje spremište na GitHubu (online alat za upravljanje spremištem koda). Može se koristiti za smještaj vaših repozitorija kodova.
Korak 2) Morate reći svojoj lokalnoj npm instalaciji tko ste. Što znači da moramo reći npm-u tko je autor ovog modula, koji je ID e-pošte i bilo kojeg URL-a tvrtke, koji je dostupan, a koji treba povezati s ovim ID-om. Svi ovi detalji bit će dodani u vaš npm modul kada bude objavljen.
Naredbe u nastavku postavljaju ime, e-poštu i URL autora npm modula.
npm je postavio init-author-name “Guru99.”
npm postavi init-author-e-mail “guru99@gmail.com”
npm postavi init-author-url “http://Guru99.com”
Korak 3) Sljedeći korak je prijava na npm pomoću vjerodajnica navedenih u zadnjem koraku. Za prijavu morate upotrijebiti donju naredbu
npm login
Korak 4) Inicijalizirajte svoj paket – Sljedeći korak je inicijaliziranje paketa za stvaranje datoteke package.json. To se može učiniti izdavanjem donje naredbe
npm init
Kada izdate gornju naredbu, od vas će se tražiti neka pitanja. Najvažniji je broj verzije vašeg modula.
Korak 5) Objavi na GitHubu – Sljedeći korak je objavljivanje izvornih datoteka na GitHubu. To se može učiniti pokretanjem naredbi u nastavku.
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
Korak 6) Objavite svoj modul – Posljednji dio je da objavite svoj modul u npm registru. To se radi putem donje naredbe.
npm publish
Upravljanje paketima trećih strana pomoću npm-a
Kao što smo vidjeli, “Node package manager” ima mogućnost upravljanja modulima, koji su potrebni Node.js aplikacijama.
Pogledajmo neke od funkcija dostupnih u upravitelju paketa čvorova za upravljanje modulima
- Instaliranje paketa u globalnom načinu – Moduli se mogu instalirati na globalnoj razini, što u osnovi znači da bi ti moduli bili dostupni za sve Node.js projekte na lokalnom računalu. Primjer u nastavku pokazuje kako instalirati "express module" s opcijom global.npm install express –global Globalna opcija u gornjoj izjavi ono je što omogućuje instaliranje modula na globalnoj razini.
- Ispis svih globalnih paketa instaliranih na lokalnom računalu. To se može učiniti izvršavanjem donje naredbe u naredbenom retkunpm popis – globalnoIspod je izlaz koji će biti prikazan ako ste prethodno instalirali “express module” na svoj sustav. Ovdje možete vidjeti različite module instalirane na lokalnom računalu.
- Instaliranje određene verzije paketa – ponekad može postojati zahtjev da se instalira samo određena verzija paketa. Nakon što saznate naziv paketa i relevantnu verziju koju je potrebno instalirati, možete upotrijebiti naredbu npm install da biste instalirali tu određenu verziju. Primjer u nastavku pokazuje kako instalirati modul koji se zove underscore s određenom verzijom 1.7.0npm install podvlaka@1.7.0
- Ažuriranje verzije paketa – Ponekad možete imati stariju verziju paketa u sustavu i možda ćete htjeti izvršiti ažuriranje na najnoviju dostupnu na tržištu. Da biste to učinili, možete koristiti naredbu npm update. Primjer ispod pokazuje kako ažurirati paket podvlaka na najnoviju verzijunpm ažurirati podvlaku
- Traženje određenog paketa – Za traženje je li određena verzija dostupna na lokalnom sustavu ili ne, možete upotrijebiti naredbu za pretraživanje npm-a. Primjer u nastavku provjerit će je li ekspresni modul instaliran na lokalnom računalu ili ne.npm search express
- Deinstaliranje paketa – Isto u kojem možete instalirati paket, možete i deinstalirati paket. Deinstalacija paketa vrši se deinstalacijskom naredbom npm-a. Primjer u nastavku pokazuje kako deinstalirati ekspresni modulnpm deinstaliraj ekspresno
Što je datoteka package.json
Datoteka "package.json" koristi se za čuvanje metapodatke o određenom projektu. Ove informacije pružaju upravitelju paketa Node potrebne informacije za razumijevanje načina na koji treba postupati s projektom zajedno s njegovim ovisnostima.
Datoteke package.json sadrže informacije kao što su opis projekta, verzija projekta u određenoj distribuciji, informacije o licenci i konfiguracijski podaci.
Datoteka package.json obično se nalazi u korijenskom direktoriju Node.js projekta.
Uzmimo primjer kako izgleda struktura modula kada se instalira putem npm-a.
Donja snimka prikazuje sadržaj datoteke ekspresnog modula kada je uključen u vaš Node.js projekt. Na snimci možete vidjeti datoteku package.json u ekspresnoj mapi.
Ako otvorite datoteku package.json, vidjet ćete mnogo informacija u datoteci.
Ispod je snimka dijela datoteke. The ekspresno@~4.13.1 spominje broj verzije ekspresnog modula koji se koristi.
rezime
- Modul u Node.js je logična enkapsulacija koda u jednoj jedinici. Razdvajanje na module čini kod lakšim za upravljanje i održavanjem za buduće potrebe
- Na tržištu su dostupni mnogi moduli koji se mogu koristiti unutar Node.js kao što su express, underscore, MongoDB, Itd
- Upravitelj paketa čvorova (npm) koristi se za preuzimanje i instaliranje modula koji se zatim mogu koristiti u aplikaciji Node.js.
- Moguće je izraditi prilagođene NPM module, proširiti te module i objaviti te module.
- Upravitelj paketa Node ima kompletan skup naredbi za upravljanje npm modulima na lokalnom sustavu kao što su instalacija, deinstalacija, pretraživanje itd.
- Datoteka package.json koristi se za čuvanje cjelokupnih metapodataka za npm modul.