Node.js NPM-vejledning: Opret, udgiv, udvid & Styre

Indholdsfortegnelse:

Anonim

Et modul i Node.js er en logisk indkapsling af kode i en enkelt enhed. Det er altid en god programmeringspraksis at altid adskille kode på en sådan måde, der gør den mere håndterbar og vedligeholdelig til fremtidige formål. Det er her moduler i Node.js kommer i aktion.

Da hvert modul er en uafhængig enhed med sin egen indkapslede funktionalitet, kan det styres som en separat arbejdsenhed.

I denne vejledning lærer du-

  • Hvad er moduler i Node.js
  • Brug af moduler i Node.js
  • Oprettelse af NPM-moduler
  • Udvidelse af moduler
  • Udgivelse af NPM-moduler
  • Håndtering af tredjepartspakker med npm
  • Hvad er filen package.json

Hvad er moduler i Node.js?

Som tidligere nævnt er moduler i Node js en måde at indkapsle kode i en separat logisk enhed. Der er mange færdige moduler til rådighed på markedet, som kan bruges i Node js.

Nedenfor er nogle af de populære moduler, der bruges i en Node js-applikation

  1. Express framework - Express er en minimal og fleksibel ramme med Node js webapplikation, der giver et robust sæt funktioner til internettet og mobile applikationer.
  2. Socket.io - Socket.IO muliggør realtids tovejs begivenhedsbaseret kommunikation. Dette modul er godt til oprettelse af chatbaserede applikationer.
  3. Jade - Jade er en højtydende skabelonmotor og implementeret med JavaScript til node og browsere.
  4. MongoDB - MongoDB Node.js-driveren er den officielt understøttede node.js-driver til MongoDB.
  5. Restify - restify er en letvægtsramme, der ligner express for at opbygge REST API'er
  6. Bluebird - Bluebird er et fuldt udstyret løftebibliotek med fokus på innovative funktioner og ydeevne

Brug af moduler i Node.js

For at kunne bruge moduler i et Node.js-program skal de først installeres ved hjælp af Node-pakkehåndteringen.

Nedenstående kommandolinje viser, hvordan et modul "express" kan installeres.

npm installer ekspres

  • Ovenstående kommando downloader de nødvendige filer, der indeholder "ekspresmodulerne" og tager sig også af installationen
  • Når modulet er installeret, skal du bruge nøgleordet 'kræve' for at kunne bruge et modul i et Node.js-program. Dette nøgleord er en måde, som Node.js bruger til at indarbejde funktionerne i et modul i en applikation.

Lad os se på et eksempel på, hvordan vi kan bruge nøgleordet "kræve". Nedenstående "Guru99" -kodeeksempel viser, hvordan du bruger den krævede funktion

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
  1. I selve den første udsagn bruger vi nøgleordet "kræve" til at inkludere ekspresmodulet. "Express" -modulet er et optimeret JavaScript-bibliotek til udvikling af Node.js. Dette er et af de mest anvendte Node.js-moduler.
  2. Når modulet er inkluderet, skal der oprettes et objekt for at kunne bruge funktionaliteten i modulet. Her oprettes et objekt med ekspressmodulet.
  3. Når modulet er inkluderet ved hjælp af kommandoen "kræve", og der oprettes et "objekt", kan de krævede metoder i ekspressmodulet påberåbes. Her bruger vi sætkommandoen til at indstille visningsmotoren, som bruges til at indstille skabelonmotoren, der bruges i Node.js.

    Bemærk: - (Bare for læsernes forståelse; en skabelonmotor er en tilgang til injektion af værdier i en applikation ved at samle data fra datafiler. Dette koncept er ret berømt i Angular JS, hvor de krøllede seler {{key}} bruges til at erstatter værdier på websiden. Ordet 'nøgle' ​​i de krøllede seler angiver grundlæggende den variabel, der vil blive erstattet af en værdi, når siden vises.)

  4. Her bruger vi lyt til-metoden til at få applikationen til at lytte på et bestemt portnummer.

Oprettelse af NPM-moduler

Node.js har evnen til at oprette brugerdefinerede moduler og giver dig mulighed for at inkludere disse tilpassede moduler i din Node.js-applikation.

Lad os se på et simpelt eksempel på, hvordan vi kan oprette vores eget modul og inkludere det modul i vores hovedapplikationsfil. Vores modul udfører bare en simpel opgave med at tilføje to tal.

Lad os følge nedenstående trin for at se, hvordan vi kan oprette moduler og inkludere dem i vores applikation.

Trin 1) Opret en fil kaldet "Addition.js" og inkluder nedenstående kode. Denne fil indeholder logikken til dit modul.

Nedenfor er den kode, der ville gå ind i denne fil;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. Nøgleordet "eksport" bruges til at sikre, at den funktionalitet, der er defineret i denne fil, faktisk kan tilgås af andre filer.
  2. Vi definerer derefter en funktion kaldet 'AddNumber'. Denne funktion er defineret til at tage 2 parametre, a og b. Funktionen føjes til modulet "eksporterer" for at gøre funktionen til en offentlig funktion, som andre applikationsmoduler kan få adgang til.
  3. Vi får endelig vores funktion til at returnere værdien af ​​parametrene.

Nu hvor vi har oprettet vores brugerdefinerede modul, der har funktionen til at tilføje 2 numre. Det er nu tid til at oprette en applikation, som kalder dette modul.

I det næste trin vil vi faktisk se, hvordan du opretter den applikation, der kalder vores brugerdefinerede modul.

Trin 2) Opret en fil kaldet "app.js", som er din vigtigste applikationsfil, og tilføj nedenstående kode

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Vi bruger nøgleordet "kræve" for at inkludere funktionaliteten i filen Addition.js.
  2. Da funktionerne i filen Addition.js nu er tilgængelige, kan vi nu ringe til funktionen AddNumber. I funktionen videregiver vi 2 tal som parametre. Vi viser derefter værdien i konsollen.

Output :

  • Når du kører filen app.js, får du en output på værdi 3 i konsolloggen.
  • Resultatet er, at AddNumber-funktionen i Addition.js-filen blev kaldt med succes, og den returnerede værdi på 3 blev vist i konsollen.

Bemærk: - Vi bruger endnu ikke "Node-pakkehåndtering" til at installere vores Addition.js-modul. Dette skyldes, at modulet allerede er en del af vores projekt på den lokale maskine. Node-pakkehåndtering kommer på billedet, når du udgiver et modul på internettet, som vi ser i det efterfølgende emne.

Udvidelse af moduler

Når du opretter moduler, er det også muligt at udvide eller arve et modul fra et andet.

I moderne programmering er det ret almindeligt at opbygge et bibliotek med almindelige moduler og derefter udvide funktionaliteten af ​​disse fælles moduler, hvis det kræves.

Lad os se på et eksempel på, hvordan vi kan udvide moduler i Node.js.

Trin 1) Opret basismodulet.

I vores eksempel skal du oprette en fil kaldet "Tutorial.js" og placere nedenstående kode.

I denne kode opretter vi bare en funktion, der returnerer en streng til konsollen. Den returnerede streng er "Guru99 Tutorial".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Eksportmodulet bruges, så den funktion, der er defineret i denne fil, kan være tilgængelig i andre moduler i Node.js
  2. Vi opretter en funktion kaldet tutorial, som kan bruges i andre Node.js-moduler.
  3. Vi viser en streng "Guru99 Tutorial" i konsollen, når denne funktion kaldes.

Nu hvor vi har oprettet vores basismodul kaldet Tutorial.js. Det er nu tid til at oprette et andet modul, der udvider dette basismodul.

Vi vil undersøge, hvordan du gør dette i næste trin.

Trin 2) Dernæst opretter vi vores udvidede modul. Opret en ny fil kaldet "NodeTutorial.js" og placer nedenstående kode i filen.

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();}}

Bemærk, følgende nøglepunkter om ovenstående kode

  1. Vi bruger funktionen "kræve" i selve den nye modulfil. Da vi skal udvide den eksisterende modulfil "Tutorial.js", skal vi først medtage den, før den udvides.
  2. Vi opretter derefter en funktion kaldet "Nodetutorial". Denne funktion vil gøre to ting,
  • Det sender en streng "Node-tutorial" til konsollen.
  • Den sender strengen "Guru99 Tutorial" fra basismodulet "Tutorial.js" til vores udvidede modul "NodeTutorial.js".
  1. Her udfører vi det første trin til at sende en streng til "Node-tutorial" til konsollen.
  2. Det næste trin er at kalde funktionen fra vores Tutorial-modul, som vil sende strengen "Guru99 Tutorial" til console.log.

Trin 3) Opret din hovedapp.js-fil, som er din hovedapplikationsfil og inkluder nedenstående kode.

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

Ovenstående kode gør følgende ting;

  1. Vores hovedapplikationsfil kalder nu modulet "NodeTutorial".
  2. Vi kalder funktionen "NodeTutorial". Ved at kalde denne funktion vises teksten "Nodevejledning" i konsolloggen.
  3. Da vi har udvidet vores Tutorial.js-modul og udsat en funktion kaldet pTutor. Det kalder også tutorial-modulet i Tutorial.js-modulet, og teksten "Guru99 Tutorial" vil også blive vist på konsollen.

Produktion:

Da vi har udført ovennævnte app.js-kode ved hjælp af Node, får vi følgende output i console.log-filen

  • Nodevejledning
  • Guru99 Tutorial

Udgivelse af NPM-moduler (Node Package Manager)

Man kan udgive deres eget modul til deres eget Github-arkiv.

Ved at udgive dit modul til en central placering er du ikke belastet med at skulle installere dig selv på hver maskine, der kræver det.

I stedet kan du bruge installationskommandoen til npm og installere dit offentliggjorte npm-modul.

Følgende trin skal følges for at udgive dit npm-modul

Trin 1) Opret dit lager på GitHub (et onlinekodelagerstyringsværktøj). Det kan bruges til at være vært for dine kodeopbevaringssteder.

Trin 2 ) Du skal fortælle din lokale npm-installation, hvem du er. Hvilket betyder, at vi er nødt til at fortælle npm, hvem der er forfatter til dette modul, hvad er e-mail-id'et og enhver virksomheds-URL, som er tilgængelig, og som skal knyttes til dette id. Alle disse detaljer føjes til dit npm-modul, når det offentliggøres.

Nedenstående kommandoer indstiller navn, e-mail og URL til forfatteren af ​​npm-modulet.

npm sæt init.author.name "Guru99."

npm set init.author.email " Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den."

npm sæt init.author.url http://Guru99.com

Trin 3) Det næste trin er at logge ind på npm ved hjælp af de legitimationsoplysninger, der er angivet i det sidste trin. For at logge ind skal du bruge kommandoen nedenfor

npm login 

Trin 4) Initialiser din pakke - Det næste trin er at initialisere pakken for at oprette filen package.json. Dette kan gøres ved at udstede nedenstående kommando

npm init

Når du udsteder ovenstående kommando, bliver du bedt om nogle spørgsmål. Det vigtigste er versionsnummeret til dit modul.

Trin 5) Udgiv til GitHub - Det næste trin er at udgive dine kildefiler til GitHub. Dette kan gøres ved at køre nedenstående kommandoer.

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

Trin 6) Udgiv dit modul - Den sidste bit er at udgive dit modul i npm-registreringsdatabasen. Dette gøres via nedenstående kommando.

npm publish

Håndtering af tredjepartspakker med npm

Som vi har set har "Node-pakkehåndtering" evnen til at administrere moduler, som kræves af Node.js-applikationer.

Lad os se på nogle af de funktioner, der er tilgængelige i node-pakkehåndtering til styring af moduler

  1. Installation af pakker i global tilstand - Moduler kan installeres på globalt niveau, hvilket grundlæggende betyder, at disse moduler ville være tilgængelige for alle Node.js-projekter på en lokal maskine. Eksemplet nedenfor viser, hvordan du installerer "ekspresmodulet" med den globale mulighed.

    npm installer express -global

    Den globale mulighed i ovenstående erklæring er, hvad der gør det muligt at installere modulerne på globalt niveau.

  2. Viser alle de globale pakker, der er installeret på en lokal maskine. Dette kan gøres ved at udføre nedenstående kommando i kommandoprompten

    npm-liste - global

    Nedenfor er det output, der vises, hvis du tidligere har installeret "ekspresmodulet" på dit system.

    Her kan du se de forskellige moduler, der er installeret på den lokale maskine.

  1. Installation af en bestemt version af en pakke - Nogle gange kan der være behov for at installere kun den specifikke version af en pakke. Når du kender pakkenavnet og den relevante version, der skal installeres, kan du bruge kommandoen npm install til at installere den specifikke version.

    Eksemplet nedenfor viser, hvordan man installerer modulet kaldet understregning med en specifik version af 1.7.0

    npm installer [email protected]

  2. Opdatering af en pakkeversion - Nogle gange har du muligvis en ældre version af en pakke i et system, og du vil muligvis opdatere til den nyeste på markedet. For at gøre dette kan man bruge kommandoen npm update. Eksemplet nedenfor viser, hvordan du opdaterer understregningspakken til den nyeste version

    npm opdatering understregning

  3. Søgning efter en bestemt pakke - For at søge, om en bestemt version er tilgængelig på det lokale system eller ej, kan du bruge søgekommandoen npm. Eksemplet nedenfor kontrollerer, om ekspresmodulet er installeret på den lokale maskine eller ej.

    npm search express

  4. Afinstallation af en pakke - Det samme, hvor du kan installere en pakke, kan du også afinstallere en pakke. Afinstallationen af ​​en pakke udføres med afinstallationskommandoen npm. Eksemplet nedenfor viser, hvordan du afinstallerer ekspressmodulet

    npm afinstallere express

Hvad er filen package.json

Filen "package.json" bruges til at indeholde metadataene om et bestemt projekt . Disse oplysninger giver Node-pakkehåndtereren de nødvendige oplysninger for at forstå, hvordan projektet skal håndteres sammen med dets afhængigheder.

Package.json-filerne indeholder oplysninger såsom projektbeskrivelsen, versionen af ​​projektet i en bestemt distribution, licensoplysninger og konfigurationsdata.

Package.json-filen er normalt placeret i rodmappen til et Node.js-projekt.

Lad os tage et eksempel på, hvordan strukturen i et modul ser ud, når det installeres via npm.

Nedenstående øjebliksbillede viser filindholdet i ekspresmodulet, når det er inkluderet i dit Node.js-projekt. Fra øjebliksbillede kan du se filen package.json i ekspresmappen.

Hvis du åbner filen package.json, vil du se en masse information i filen.

Nedenfor er et øjebliksbillede af en del af filen. Den express@~4.13.1 nævner versionsnummeret på den udtrykkelige modul bliver brugt.

Resumé

  • Et modul i Node.js er en logisk indkapsling af kode i en enkelt enhed. Adskillelse i moduler gør kode mere håndterbar og vedligeholdelig til fremtidige formål
  • Der er mange moduler til rådighed på markedet, som kan bruges inden for Node.js såsom express, understregning, MongoDB osv.
  • Node-pakkehåndtering (npm) bruges til at downloade og installere moduler, som derefter kan bruges i et Node.js-program.
  • Man kan oprette brugerdefinerede NPM-moduler, udvide disse moduler og også udgive disse moduler.
  • Node-pakkehåndtereren har et komplet sæt kommandoer til at styre npm-modulerne på det lokale system såsom installation, afinstallation, søgning osv.
  • Package.json-filen bruges til at indeholde hele metadataoplysningerne til et npm-modul.