Node.js NPM apmācība: izveidošana, publicēšana, paplašināšana un amp; Pārvaldīt

Satura rādītājs:

Anonim

Node.js modulis ir loģiska koda iekapsulēšana vienā vienībā. Vienmēr ir laba programmēšanas prakse vienmēr nodalīt kodu tā, lai padarītu to vieglāk pārvaldāmu un uzturamu turpmākajiem mērķiem. Tur darbojas Node.js moduļi.

Tā kā katrs modulis ir neatkarīga entītija ar savu iekapsulēto funkcionalitāti, to var pārvaldīt kā atsevišķu darba vienību.

Šajā apmācībā jūs uzzināsiet

  • Kas ir Node.js moduļi
  • Moduļu izmantošana vietnē Node.js
  • NPM moduļu veidošana
  • Moduļu paplašināšana
  • NPM moduļu publicēšana
  • Trešās puses pakotņu pārvaldība ar npm
  • Kas ir fails package.json

Kas ir Node.js moduļi?

Kā jau iepriekš minēts, mezgla js moduļi ir veids, kā kodu iekapsulēt atsevišķā loģiskā vienībā. Tirgū ir pieejami daudzi gatavie moduļi, kurus var izmantot mezglā js.

Zemāk ir daži populārie moduļi, kurus izmanto Node js lietojumprogrammā

  1. Express ietvars - Express ir minimāls un elastīgs Node js tīmekļa lietojumprogrammu ietvars, kas nodrošina spēcīgu funkciju kopumu tīmekļa un mobilajām lietojumprogrammām.
  2. Socket.io - Socket.IO nodrošina reāllaika divvirzienu komunikāciju, kas balstīta uz notikumiem. Šis modulis ir piemērots, lai izveidotu tērzēšanas lietojumprogrammas.
  3. Jade - Jade ir augstas veiktspējas veidņu dzinējs, kas tiek ieviests ar JavaScript mezgliem un pārlūkiem.
  4. MongoDB - MongoDB Node.js draiveris ir MongoDB oficiāli atbalstītais node.js draiveris.
  5. Restify - restify ir viegls ietvars, līdzīgs kā express REST API izveidošanai
  6. Bluebird - Bluebird ir pilnībā aprīkota solījumu bibliotēka, kas koncentrējas uz novatoriskām funkcijām un veiktspēju

Moduļu izmantošana vietnē Node.js

Lai moduļus izmantotu Node.js lietojumprogrammā, tie vispirms jāinstalē, izmantojot Node pakotņu pārvaldnieku.

Zemāk esošajā komandrindā parādīts, kā var instalēt moduli "express".

npm instalēt express

  • Iepriekš minētā komanda lejupielādēs nepieciešamos failus, kas satur "ātros moduļus", un rūpēsies arī par instalēšanu
  • Kad modulis ir instalēts, lai izmantotu moduli lietojumprogrammā Node.js, jums jāizmanto atslēgvārds “pieprasīt”. Šis atslēgvārds ir veids, kuru Node.js izmanto, lai lietojumprogrammā iekļautu moduļa funkcionalitāti.

Apskatīsim piemēru, kā mēs varam izmantot atslēgvārdu “pieprasīt”. Zemāk redzamais "Guru99" koda piemērs parāda, kā izmantot funkciju pieprasīt

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
  1. Pirmajā paziņojumā mēs izmantojam atslēgvārdu "pieprasīt", lai iekļautu ekspress moduli. "Express" modulis ir optimizēta JavaScript bibliotēka Node.js izstrādei. Šis ir viens no visbiežāk izmantotajiem Node.js moduļiem.
  2. Pēc moduļa iekļaušanas, lai izmantotu moduļa funkcionalitāti, ir jāizveido objekts. Šeit tiek izveidots ekspresmoduļa objekts.
  3. Kad modulis ir iekļauts, izmantojot komandu "pieprasīt" un ir izveidots "objekts", var izmantot nepieciešamās ekspresmoduļa metodes. Šeit mēs izmantojam komandu set, lai iestatītu skata motoru, kas tiek izmantots, lai iestatītu šablonu dzinēju, ko izmanto Node.js.

    Piezīme: - (Tikai lasītāja izpratnei; veidņu dzinējs ir pieeja vērtību ievadīšanai lietojumprogrammā, iegūstot datus no datu failiem. Šī koncepcija ir diezgan slavena Angular JS, kurā tiek izmantoti cirtainie bikšturi {{key}} aizstāj vērtības tīmekļa lapā. Vārds “atslēga” cirtainajās iekavās būtībā apzīmē mainīgo, kas tiks aizstāts ar vērtību, kad lapa tiks parādīta.)

  4. Šeit mēs izmantojam klausīšanās metodi, lai liktu lietojumprogrammai klausīties noteiktu porta numuru.

NPM moduļu veidošana

Node.js spēj izveidot pielāgotus moduļus un ļauj šos pielāgotos moduļus iekļaut savā Node.js lietojumprogrammā.

Apskatīsim vienkāršu piemēru tam, kā mēs varam izveidot savu moduli un iekļaut šo moduli mūsu galvenajā lietojumprogrammas failā. Mūsu modulis vienkārši veiks vienkāršu uzdevumu, pievienojot divus skaitļus.

Izpildīsim tālāk norādītās darbības, lai uzzinātu, kā mēs varam izveidot moduļus un iekļaut tos savā lietojumprogrammā.

1. darbība. Izveidojiet failu ar nosaukumu “Addition.js” un iekļaujiet zemāk esošo kodu. Šis fails satur moduļa loģiku.

Zemāk ir kods, kas iekļūtu šajā failā;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. Atslēgvārds "eksportēšana" tiek izmantots, lai nodrošinātu, ka šajā failā definētajai funkcionalitātei faktiski var piekļūt citi faili.
  2. Pēc tam mēs definējam funkciju ar nosaukumu 'AddNumber'. Šī funkcija ir definēta, lai ņemtu 2 parametrus - a un b. Funkcija tiek pievienota modulim "eksports", lai padarītu funkciju par publisku funkciju, kurai var piekļūt citi lietojumprogrammu moduļi.
  3. Beidzot mēs liekam savai funkcijai atgriezt parametru pievienoto vērtību.

Tagad, kad esam izveidojuši pielāgoto moduli, kura funkcionalitāte ir 2 skaitļu pievienošana. Ir pienācis laiks izveidot lietojumprogrammu, kas sauks šo moduli.

Nākamajā solī mēs faktiski redzēsim, kā izveidot lietojumprogrammu, kas izsauks mūsu pielāgoto moduli.

2. solis) Izveidojiet failu ar nosaukumu “app.js”, kas ir jūsu galvenais lietojumprogrammas fails, un pievienojiet zemāk esošo kodu

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Lai funkcionalitāti iekļautu failā Addition.js, mēs izmantojam atslēgvārdu “pieprasīt”.
  2. Tā kā funkcijas Addition.js failā tagad ir pieejamas, tagad mēs varam izsaukt funkciju AddNumber. Funkcijā mēs kā parametrus nododam 2 skaitļus. Pēc tam mēs konsolē parādām vērtību.

Izeja :

  • Palaidot failu app.js, konsoles žurnālā tiks parādīta vērtība 3.
  • Rezultāts ir tāds, ka faila Addition.js funkcija AddNumber tika veiksmīgi izsaukta, un konsolē tika parādīta atgrieztā vērtība 3.

Piezīme: - Mēs vēl neizmantojam "Node pakotņu pārvaldnieku", lai instalētu moduli Addition.js. Tas ir tāpēc, ka modulis jau ir daļa no mūsu projekta vietējā mašīnā. Node pakotņu pārvaldnieks tiek parādīts attēlā, kad internetā publicējat moduli, kuru mēs redzam nākamajā tēmā.

Moduļu paplašināšana

Veidojot moduļus, ir iespējams arī pagarināt vai pārmantot vienu moduli no otra.

Mūsdienu programmēšanā ir diezgan izplatīts izveidot kopīgu moduļu bibliotēku un pēc tam paplašināt šo kopīgo moduļu funkcionalitāti, ja nepieciešams.

Apskatīsim piemēru, kā paplašināt moduļus vietnē Node.js.

1. solis) Izveidojiet bāzes moduli.

Šajā piemērā izveidojiet failu ar nosaukumu "Tutorial.js" un ievietojiet zemāk esošo kodu.

Šajā kodā mēs tikai izveidojam funkciju, kas konsolei atgriež virkni. Atgrieztā virkne ir "Guru99 apmācība".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Eksporta modulis tiek izmantots, lai jebkura failā noteiktā funkcija būtu pieejama citos Node.js moduļos
  2. Mēs izveidojam funkciju, ko sauc par apmācību, kuru var izmantot citos Node.js moduļos.
  3. Kad šī funkcija tiek izsaukta, konsolē tiek parādīta virkne "Guru99 Tutorial".

Tagad, kad esam izveidojuši savu bāzes moduli ar nosaukumu Tutorial.js. Ir pienācis laiks izveidot vēl vienu moduli, kas paplašinās šo bāzes moduli.

Mēs to izpētīsim nākamajā solī.

2. solis) Pēc tam mēs izveidosim savu paplašināto moduli. Izveidojiet jaunu failu ar nosaukumu "NodeTutorial.js" un ievietojiet zemāk esošo kodu 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();}}

Ņemiet vērā, ka šie galvenie punkti par iepriekš minēto kodu

  1. Pašā jaunā moduļa failā mēs izmantojam funkciju “pieprasīt”. Tā kā mēs gatavojamies paplašināt esošo moduļa failu "Tutorial.js", mums tas vispirms jāiekļauj pirms tā paplašināšanas.
  2. Pēc tam mēs izveidojam funkciju ar nosaukumu "Nodetutorial". Šī funkcija veiks divas lietas,
  • Tas konsolei nosūtīs virkni "Mezglu apmācība".
  • Tas nosūtīs virkni "Guru99 Tutorial" no bāzes moduļa "Tutorial.js" uz mūsu paplašināto moduli "NodeTutorial.js".
  1. Šeit mēs veicam pirmo soli, lai nosūtītu virkni uz "Mezglu apmācību" uz konsoli.
  2. Nākamais solis ir izsaukt funkciju no mūsu Tutorial moduļa, kas konsole.log izvadīs virkni "Guru99 Tutorial".

3. solis) Izveidojiet savu galveno app.js failu, kas ir jūsu galvenais lietojumprogrammas fails, un iekļaujiet zemāk esošo kodu.

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

Iepriekš minētais kods veic šādas darbības;

  1. Mūsu galvenais lietojumprogrammas fails tagad izsauc moduli "NodeTutorial".
  2. Mēs izsaucam funkciju "NodeTutorial". Izsaucot šo funkciju, konsoles žurnālā tiks parādīts teksts "Mezglu apmācība".
  3. Tā kā mēs esam paplašinājuši mūsu Tutorial.js moduli un parādījuši funkciju, ko sauc par pTutor. Tas izsauc arī apmācības moduli Tutorial.js modulī, un konsolē tiks parādīts arī teksts "Guru99 Tutorial".

Izeja:

Tā kā mēs esam izpildījuši iepriekš minēto app.js kodu, izmantojot mezglu, mēs iegūsim šādu izvadi failā console.log

  • Mezglu apmācība
  • Guru99 apmācība

NPM (Node Package Manager) moduļu publicēšana

Var publicēt savu moduli savā Github krātuvē.

Publicējot moduli centrālā vietā, jums nav jāapgrūtina nepieciešamība instalēt sevi katrā mašīnā, kurai tas nepieciešams.

Tā vietā jūs varat izmantot komandu npm un instalēt publicēto npm moduli.

Lai publicētu savu npm moduli, ir jāveic šādas darbības

1. darbība. Izveidojiet savu krātuvi vietnē GitHub (tiešsaistes kodu krātuves pārvaldības rīks). To var izmantot, lai mitinātu jūsu kodu krātuves.

2. solis. Jums jāinformē vietējā npm instalācija par to, kas jūs esat. Tas nozīmē, ka mums jānorāda npm, kurš ir šī moduļa autors, kāds ir e-pasta ID un jebkurš pieejamais uzņēmuma URL, kas ir jāsaista ar šo ID. Visa šī informācija tiks pievienota jūsu npm modulim, kad tas tiks publicēts.

Tālāk norādītās komandas nosaka npm moduļa autora vārdu, e-pasta adresi un URL.

npm iestatiet init.author.name "Guru99".

npm set init.author.email " Šī e-pasta adrese ir aizsargāta pret mēstuļošanu (spam), Jūsu pārlūkam ir jābūt aktivizētam Javascript, lai to aplūkotu."

npm iestatiet init.author.url http://Guru99.com

3. solis . Nākamais solis ir pieteikšanās npm, izmantojot pēdējā solī sniegtos akreditācijas datus. Lai pieteiktos, jums jāizmanto zemāk redzamā komanda

npm login 

4. solis. Inicializējiet pakotni. Nākamais solis ir paketes inicializēšana, lai izveidotu failu package.json. To var izdarīt, izsniedzot zemāk esošo komandu

npm init

Izdodot iepriekš minēto komandu, jums tiks lūgts uzdot dažus jautājumus. Vissvarīgākais ir moduļa versijas numurs.

5. darbība. Publicēšana vietnē GitHub - nākamais solis ir avota failu publicēšana GitHub. To var izdarīt, izpildot zemāk norādītās komandas.

git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags

6. solis) Publicējiet moduli - pēdējais bits ir moduļa publicēšana npm reģistrā. Tas tiek darīts, izmantojot zemāk esošo komandu.

npm publish

Trešo pušu pakotņu pārvaldība ar npm

Kā redzējām, "Node pakotņu pārvaldniekam" ir iespēja pārvaldīt moduļus, kas nepieciešami Node.js lietojumprogrammām.

Apskatīsim dažas no mezglu pakotņu pārvaldniekā pieejamajām funkcijām moduļu pārvaldībai

  1. Pakotņu instalēšana globālā režīmā - moduļus var instalēt globālā līmenī, kas tikai būtībā nozīmē, ka šie moduļi būtu pieejami visiem Node.js projektiem vietējā mašīnā. Tālāk sniegtajā piemērā parādīts, kā instalēt "ekspress moduli" ar globālo opciju.

    npm instalēt express -global

    Globālā opcija, kas atrodas iepriekš minētajā paziņojumā, ir tā, kas ļauj moduļus instalēt globālā līmenī.

  2. Uzskaita visas vietējā mašīnā instalētās globālās pakotnes. To var izdarīt, izpildot komandu komandu uzvednē

    npm saraksts - globāls

    Zemāk ir parādīta izeja, ja iepriekš savā sistēmā esat instalējis "ekspress moduli".

    Šeit jūs varat redzēt dažādus moduļus, kas instalēti vietējā mašīnā.

  1. Konkrētas pakotnes versijas instalēšana - dažreiz var būt prasība instalēt tikai konkrēto pakotnes versiju. Kad zināt pakotnes nosaukumu un attiecīgo versiju, kas jāinstalē, varat izmantot komandu npm install, lai instalētu šo konkrēto versiju.

    Zemāk sniegtajā piemērā parādīts, kā moduli, ko sauc par pasvītrojumu, instalēt ar noteiktu 1.7.0 versiju

    npm instalēt pasvī[email protected]

  2. Pakotnes versijas atjaunināšana - dažreiz sistēmā var būt vecāka pakotnes versija, un jūs varētu vēlēties atjaunināt uz jaunāko tirgū pieejamo. Lai to izdarītu, var izmantot komandu npm update. Zemāk esošajā piemērā parādīts, kā pasvītrojuma pakotni atjaunināt uz jaunāko versiju

    npm atjaunināšanas pasvītrojums

  3. Konkrētas pakotnes meklēšana - lai meklētu, vai vietējā sistēmā ir pieejama konkrēta versija, varat izmantot meklēšanas komandu npm. Tālāk sniegtajā piemērā tiks pārbaudīts, vai ekspress modulis ir instalēts vietējā mašīnā.

    npm meklēšanas ekspress

  4. Pakotnes atinstalēšana - to pašu, kurā varat instalēt paketi, varat arī atinstalēt pakotni. Pakotnes atinstalēšana tiek veikta ar atinstalēšanas komandu npm. Tālāk sniegtajā piemērā parādīts, kā atinstalēt ekspress moduli

    npm atinstalēt express

Kas ir fails package.json

Fails "package.json" tiek izmantots, lai saglabātu metadatus par konkrētu projektu . Šī informācija sniedz Node pakotņu pārvaldniekam nepieciešamo informāciju, lai saprastu, kā jārīkojas ar projektu un tā atkarībām.

Failos package.json ir tāda informācija kā projekta apraksts, projekta versija konkrētajā izplatīšanā, informācija par licenci un konfigurācijas dati.

Fails pack.json parasti atrodas Node.js projekta saknes direktorijā.

Ņemsim piemēru, kā moduļa struktūra izskatās, kad to instalē caur npm.

Zemāk esošajā momentuzņēmumā tiek parādīts ekspress moduļa faila saturs, kad tas ir iekļauts jūsu Node.js projektā. No momentuzņēmuma ekspress mapē var redzēt failu package.json.

Atverot failu package.json, failā redzēsiet daudz informācijas.

Zemāk ir faila daļas momentuzņēmums. Express@~4.13.1 piemin tiek izmantots versijas numurs skaidru moduli.

Kopsavilkums

  • Node.js modulis ir loģiska koda iekapsulēšana vienā vienībā. Atdalīšana moduļos padara kodu vieglāk pārvaldāmu un uzturamu turpmākajiem mērķiem
  • Tirgū ir pieejami daudzi moduļi, kurus var izmantot Node.js, piemēram, express, pasvītrojums, MongoDB utt.
  • Mezglu pakotņu pārvaldnieks (npm) tiek izmantots, lai lejupielādētu un instalētu moduļus, kurus pēc tam var izmantot Node.js lietojumprogrammā.
  • Var izveidot pielāgotus NPM moduļus, paplašināt šos moduļus un arī publicēt šos moduļus.
  • Node pakotņu pārvaldniekam ir pilns komandu kopums, lai pārvaldītu vietējās sistēmas npm moduļus, piemēram, instalēšanu, instalēšanas noņemšanu, meklēšanu utt.
  • Fails pack.json tiek izmantots, lai glabātu visu metadatu informāciju npm modulim.