Node.js NPM-opplæring: Opprett, publiser, utvid & Få til

Innholdsfortegnelse:

Anonim

En modul i Node.js er en logisk innkapsling av kode i en enkelt enhet. Det er alltid en god programmeringspraksis å alltid adskille koden på en slik måte som gjør den mer håndterbar og vedlikeholdbar for fremtidige formål. Det er der modulene i Node.js kommer i aksjon.

Siden hver modul er en uavhengig enhet med sin egen innkapslede funksjonalitet, kan den administreres som en egen arbeidsenhet.

I denne veiledningen vil du lære-

  • Hva er moduler i Node.js
  • Bruke moduler i Node.js
  • Opprette NPM-moduler
  • Utvide moduler
  • Publisering av NPM-moduler
  • Administrere tredjepartspakker med npm
  • Hva er filen package.json

Hva er moduler i Node.js?

Som nevnt tidligere er moduler i Node js en måte å kapsle inn kode i en egen logisk enhet. Det er mange ferdige moduler tilgjengelig i markedet som kan brukes i Node js.

Nedenfor er noen av de populære modulene som brukes i en Node js-applikasjon

  1. Express framework - Express er et minimalt og fleksibelt rammeverk for Node js webapplikasjon som gir et robust sett med funksjoner for nett- og mobilapplikasjoner.
  2. Socket.io - Socket.IO muliggjør toveis sanntids hendelsesbasert kommunikasjon. Denne modulen er bra for opprettelse av chatbaserte applikasjoner.
  3. Jade - Jade er en høyytelses malmotor og implementert med JavaScript for node og nettlesere.
  4. MongoDB - MongoDB Node.js-driveren er den offisielt støttede node.js-driveren for MongoDB.
  5. Restify - restify er et lett rammeverk, som ligner på uttrykk for å bygge REST APIer
  6. Bluebird - Bluebird er et fullverdig løftebibliotek med fokus på innovative funksjoner og ytelse

Bruke moduler i Node.js

For å kunne bruke moduler i et Node.js-program, må de først installeres ved hjelp av Node-pakkebehandling.

Kommandolinjen nedenfor viser hvordan en modul "express" kan installeres.

npm installer express

  • Ovennevnte kommando vil laste ned de nødvendige filene som inneholder "ekspressmodulene" og ta seg av installasjonen også
  • Når modulen er installert, må du bruke nøkkelordet for å kunne bruke en modul i et Node.js-program. Dette nøkkelordet er en måte som Node.js bruker for å innlemme funksjonaliteten til en modul i et program.

La oss se på et eksempel på hvordan vi kan bruke søkeordet "krever". Nedenfor "Guru99" kodeeksempel viser hvordan du bruker behovsfunksjonen

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 utsagnet bruker vi nøkkelordet "krever" for å inkludere ekspressmodulen. "Express" -modulen er et optimalisert JavaScript-bibliotek for Node.js-utvikling. Dette er en av de mest brukte Node.js-modulene.
  2. Etter at modulen er inkludert, må du lage et objekt for å kunne bruke funksjonaliteten i modulen. Her opprettes et objekt av ekspressmodulen.
  3. Når modulen er inkludert med kommandoen "krever" og et "objekt" er opprettet, kan de nødvendige metodene for ekspressmodulen påberopes. Her bruker vi settkommandoen for å sette visningsmotoren, som brukes til å stille malmotoren som brukes i Node.js.

    Merk: - (Bare for leserens forståelse; en malmotor er en tilnærming for å injisere verdier i en applikasjon ved å plukke opp data fra datafiler. Dette konseptet er ganske kjent i Angular JS hvor de krøllete bukseselene {{key}} er vant til erstatter verdier på websiden. Ordet "nøkkel" i krøllete bukseseler betegner i utgangspunktet variabelen som vil bli erstattet av en verdi når siden vises.)

  4. Her bruker vi lytte til-metoden for å få applikasjonen til å lytte på et bestemt portnummer.

Opprette NPM-moduler

Node.js har muligheten til å lage tilpassede moduler og lar deg inkludere disse tilpassede modulene i Node.js-applikasjonen.

La oss se på et enkelt eksempel på hvordan vi kan lage vår egen modul og inkludere den modulen i vår viktigste applikasjonsfil. Modulen vår vil bare gjøre en enkel oppgave med å legge til to tall.

La oss følge trinnene nedenfor for å se hvordan vi kan lage moduler og inkludere dem i applikasjonen vår.

Trinn 1) Opprett en fil som heter "Addition.js" og inkluder koden nedenfor. Denne filen inneholder logikken til modulen din.

Nedenfor er koden som vil gå inn i denne filen;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. Nøkkelordet "eksport" brukes til å sikre at funksjonaliteten som er definert i denne filen, faktisk kan nås av andre filer.
  2. Vi definerer da en funksjon kalt 'AddNumber'. Denne funksjonen er definert til å ta to parametere, a og b. Funksjonen er lagt til modulen "eksporterer" for å gjøre funksjonen som en offentlig funksjon som er tilgjengelig for andre applikasjonsmoduler.
  3. Vi får endelig funksjonen vår til å returnere merverdien til parametrene.

Nå som vi har laget vår tilpassede modul som har funksjonaliteten til å legge til 2 tall. Det er nå på tide å lage et program som vil kalle denne modulen.

I neste trinn vil vi faktisk se hvordan du lager applikasjonen som vil kalle vår tilpassede modul.

Trinn 2) Opprett en fil som heter "app.js", som er din viktigste applikasjonsfil, og legg til koden nedenfor

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Vi bruker nøkkelordet "krever" for å inkludere funksjonaliteten i filen Addition.js.
  2. Siden funksjonene i Addition.js-filen nå er tilgjengelige, kan vi nå ringe til AddNumber-funksjonen. I funksjonen passerer vi 2 tall som parametere. Vi viser deretter verdien i konsollen.

Utgang :

  • Når du kjører app.js-filen, får du en utgang med verdi 3 i konsolloggen.
  • Resultatet er fordi AddNumber-funksjonen i Addition.js-filen ble kalt, og den returnerte verdien på 3 ble vist i konsollen.

Merk: - Vi bruker foreløpig ikke "Node-pakkebehandling" for å installere Addition.js-modulen. Dette er fordi modulen allerede er en del av prosjektet vårt på den lokale maskinen. Node-pakkebehandleren kommer på bildet når du publiserer en modul på internett, som vi ser i det påfølgende emnet.

Utvide moduler

Når du lager moduler, er det også mulig å utvide eller arve en modul fra en annen.

I moderne programmering er det ganske vanlig å bygge et bibliotek med vanlige moduler og deretter utvide funksjonaliteten til disse vanlige modulene om nødvendig.

La oss se på et eksempel på hvordan vi kan utvide moduler i Node.js.

Trinn 1) Opprett basemodulen.

I vårt eksempel, opprett en fil som heter "Tutorial.js" og plasser koden nedenfor.

I denne koden lager vi bare en funksjon som returnerer en streng til konsollen. Strengen som returneres er "Guru99 Tutorial".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Eksportmodulen brukes slik at hvilken som helst funksjon som er definert i denne filen, kan være tilgjengelig i andre moduler i Node.js
  2. Vi lager en funksjon som kalles tutorial som kan brukes i andre Node.js-moduler.
  3. Vi viser en streng "Guru99 Tutorial" i konsollen når denne funksjonen kalles.

Nå som vi har opprettet basemodulen vår kalt Tutorial.js. Det er nå på tide å lage en annen modul som vil utvide denne basismodulen.

Vi vil undersøke hvordan du gjør dette i neste trinn.

Trinn 2) Deretter vil vi lage vår utvidede modul. Lag en ny fil kalt "NodeTutorial.js" og plasser koden nedenfor 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();}}

Merk følgende nøkkelpunkter om ovennevnte kode

  1. Vi bruker "krever" -funksjonen i selve den nye modulfilen. Siden vi skal utvide den eksisterende modulfilen "Tutorial.js", må vi først ta den med før vi utvider den.
  2. Vi oppretter deretter en funksjon som heter "Nodetutorial." Denne funksjonen vil gjøre to ting,
  • Den vil sende en streng "Node Tutorial" til konsollen.
  • Den vil sende strengen "Guru99 Tutorial" fra basismodulen "Tutorial.js" til den utvidede modulen vår "NodeTutorial.js".
  1. Her gjennomfører vi det første trinnet for å sende en streng til "Node Tutorial" til konsollen.
  2. Det neste trinnet er å ringe til funksjonen fra opplæringsmodulen vår, som vil sende strengen "Guru99 Tutorial" til console.log.

Trinn 3) Opprett din viktigste app.js-fil, som er din viktigste applikasjonsfil og inkluderer koden nedenfor.

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

Ovennevnte kode gjør følgende ting;

  1. Vår viktigste applikasjonsfil kaller nå "NodeTutorial" -modulen.
  2. Vi kaller "NodeTutorial" -funksjonen. Ved å kalle denne funksjonen vises teksten "Node Tutorial" i konsolloggen.
  3. Siden vi har utvidet vår Tutorial.js-modul og eksponert en funksjon som heter pTutor. Den kaller også opplæringsmodulen i Tutorial.js-modulen, og teksten "Guru99 Tutorial" vil også vises på konsollen.

Produksjon:

Siden vi har utført ovennevnte app.js-kode ved hjelp av Node, får vi følgende utdata i console.log-filen

  • Node Veiledning
  • Guru99 opplæring

Publisering av NPM-moduler (Node Package Manager)

Man kan publisere sin egen modul til sitt eget Github-arkiv.

Ved å publisere modulen din til et sentralt sted, blir du ikke tynget av å måtte installere deg selv på hver maskin som krever det.

I stedet kan du bruke installasjonskommandoen til npm og installere den publiserte npm-modulen.

Følgende trinn må følges for å publisere din npm-modul

Trinn 1) Opprett depotet ditt på GitHub (et verktøy for kodebeholdning på nettet). Den kan brukes til å være vert for kodebaser.

Trinn 2 ) Du må fortelle din lokale npm-installasjon om hvem du er. Noe som betyr at vi trenger å fortelle npm hvem som er forfatteren av denne modulen, hva er e-post-ID-en og hvilken som helst URL-adresse for bedriften, som er tilgjengelig som må knyttes til denne ID-en. Alle disse detaljene vil bli lagt til din npm-modul når den blir publisert.

Kommandoene nedenfor angir navn, e-postadresse og URL til forfatteren av npm-modulen.

npm angi init.author.name "Guru99."

npm set init.author.email " Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den."

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

Trinn 3) Neste trinn er å logge inn på npm ved hjelp av legitimasjonen som ble oppgitt i det siste trinnet. For å logge inn må du bruke kommandoen nedenfor

npm login 

Trinn 4) Initialiser pakken - Neste trinn er å initialisere pakken for å opprette filen package.json. Dette kan gjøres ved å utstede kommandoen nedenfor

npm init

Når du utsteder kommandoen ovenfor, blir du bedt om å stille spørsmål. Den viktigste er versjonsnummeret for modulen din.

Trinn 5) Publiser til GitHub - Det neste trinnet er å publisere kildefilene dine til GitHub. Dette kan gjøres ved å kjøre kommandoene nedenfor.

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

Trinn 6) Publiser modulen din - Den siste biten er å publisere modulen din i npm-registeret. Dette gjøres via kommandoen nedenfor.

npm publish

Administrere tredjepartspakker med npm

Som vi har sett har "Node package manager" muligheten til å administrere moduler, som kreves av Node.js-applikasjoner.

La oss se på noen av funksjonene som er tilgjengelige i node-pakkebehandling for å administrere moduler

  1. Installere pakker i global modus - Moduler kan installeres på globalt nivå, noe som i utgangspunktet betyr at disse modulene vil være tilgjengelige for alle Node.js-prosjekter på en lokal maskin. Eksemplet nedenfor viser hvordan du installerer "ekspressmodulen" med det globale alternativet.

    npm installer express -global

    Det globale alternativet i utsagnet ovenfor er det som gjør at modulene kan installeres på globalt nivå.

  2. Liste over alle de globale pakkene som er installert på en lokal maskin. Dette kan gjøres ved å utføre kommandoen nedenfor i ledeteksten

    npm-liste - global

    Nedenfor vises utdataene som vises hvis du tidligere har installert "ekspressmodulen" på systemet ditt.

    Her kan du se de forskjellige modulene som er installert på den lokale maskinen.

  1. Installere en spesifikk versjon av en pakke - Noen ganger kan det være krav om å installere bare den spesifikke versjonen av en pakke. Når du vet pakkenavnet og den aktuelle versjonen som må installeres, kan du bruke kommandoen npm install til å installere den spesifikke versjonen.

    Eksemplet nedenfor viser hvordan du installerer modulen som heter understreking med en spesifikk versjon av 1.7.0

    npm installer [email protected]

  2. Oppdatere en pakkeversjon - Noen ganger kan det hende du har en eldre versjon av en pakke i et system, og det kan være lurt å oppdatere til den siste som er tilgjengelig i markedet. For å gjøre dette kan man bruke kommandoen npm update. Eksemplet nedenfor viser hvordan du oppdaterer understrekningspakken til den nyeste versjonen

    npm oppdatering understreker

  3. Søke etter en bestemt pakke - For å søke om en bestemt versjon er tilgjengelig på det lokale systemet eller ikke, kan du bruke søkekommandoen til npm. Eksemplet nedenfor vil sjekke om ekspressmodulen er installert på den lokale maskinen eller ikke.

    npm søkeekspress

  4. Avinstallere en pakke - Det samme der du kan installere en pakke, kan du også avinstallere en pakke. Avinstallasjonen av en pakke gjøres med avinstallasjonskommandoen npm. Eksemplet nedenfor viser hvordan du avinstallerer ekspressmodulen

    npm avinstallere express

Hva er filen package.json

Filen "package.json" brukes til å lagre metadataene om et bestemt prosjekt . Denne informasjonen gir Node-pakkeansvarlig den nødvendige informasjonen for å forstå hvordan prosjektet skal håndteres sammen med dets avhengigheter.

Package.json-filene inneholder informasjon som prosjektbeskrivelsen, versjonen av prosjektet i en bestemt distribusjon, lisensinformasjon og konfigurasjonsdata.

Package.json-filen ligger vanligvis i rotkatalogen til et Node.js-prosjekt.

La oss ta et eksempel på hvordan strukturen til en modul ser ut når den installeres via npm.

Nedenstående øyeblikksbilde viser filinnholdet i ekspressmodulen når den er inkludert i Node.js-prosjektet. Fra øyeblikksbildet kan du se filen package.json i ekspressmappen.

Hvis du åpner filen package.json, vil du se mye informasjon i filen.

Nedenfor er et øyeblikksbilde av en del av filen. Den express@~4.13.1 nevner versjonsnummeret uttrykkelig modulen som brukes.

Sammendrag

  • En modul i Node.js er en logisk innkapsling av kode i en enkelt enhet. Separasjon i moduler gjør koden mer håndterbar og vedlikeholdbar for fremtidige formål
  • Det er mange moduler tilgjengelig i markedet som kan brukes i Node.js som express, understrek, MongoDB, etc.
  • Node-pakkebehandling (npm) brukes til å laste ned og installere moduler som deretter kan brukes i et Node.js-program.
  • Man kan lage egendefinerte NPM-moduler, utvide disse modulene, og også publisere disse modulene.
  • Node-pakkebehandleren har et komplett sett med kommandoer for å administrere npm-modulene på det lokale systemet, for eksempel installasjon, avinstallasjon, søk osv.
  • Package.json-filen brukes til å holde hele metadatainformasjonen for en npm-modul.