Node.js NPM -opetusohjelma: Moduulien luominen, laajentaminen ja julkaiseminen
Node.js-moduulit
Node.js:n moduuli on koodin looginen kapselointi yhteen yksikköön. On aina hyvä ohjelmointikäytäntö erottaa koodi aina siten, että se tekee siitä hallittavamman ja ylläpidettävämmän tulevia tarkoituksia varten. Siellä Node.js:n moduulit alkavat toimia.
Koska jokainen moduuli on itsenäinen kokonaisuus, jolla on omat kapseloidut toiminnallisuutensa, sitä voidaan hallita erillisenä työyksikkönä.
Mikä on Node.js:n moduuli?
Kuten aiemmin todettiin, Node js:n moduulit ovat tapa kapseloida koodi erilliseen loogiseen yksikköön. Markkinoilla on monia valmiita moduuleja, joita voidaan käyttää Node js:n sisällä.
Alla on joitain suosittuja moduuleja, joita käytetään Node js -sovelluksessa
- Express-kehys – Express on minimaalinen ja joustava Node js -verkkosovelluskehys, joka tarjoaa vankan joukon ominaisuuksia verkkoon ja mobile sovelluksissa.
- socket.io – Socket.IO mahdollistaa reaaliaikaisen kaksisuuntaisen tapahtumapohjaisen viestinnän. Tämä moduuli on hyvä chat-pohjaisten sovellusten luomiseen.
- Jade – Jade on korkean suorituskyvyn mallimoottori ja toteutettu JavaKäsikirjoitus solmulle ja selaimille.
- MongoDB - MongoDB Node.js-ohjain on virallisesti tuettu node.js-ohjain MongoDB.
- Restifioi – restify on kevyt kehys, samanlainen kuin express REST API:iden rakentamiseen
- sinikka – Bluebird on täysin varusteltu lupauskirjasto, joka keskittyy innovatiivisiin ominaisuuksiin ja suorituskykyyn
Moduulien käyttö Node.js:ssä
Moduulien käyttämiseksi a Node.js sovellus, ne on ensin asennettava Node-pakettienhallinnan avulla.
Alla oleva komentorivi näyttää kuinka moduuli "express" voidaan asentaa.
npm install express
- Yllä oleva komento lataa tarvittavat tiedostot, jotka sisältävät "pikamoduulit" ja huolehtii myös asennuksesta
- Kun moduuli on asennettu, sinun on käytettävä 'require'-avainsanaa, jotta voit käyttää moduulia Node.js-sovelluksessa. Tämä avainsana on tapa, jolla Node.js sisällyttää sovelluksen moduulin toiminnot.
Katsotaanpa esimerkkiä siitä, kuinka voimme käyttää "require" -avainsanaa. Alla oleva "Guru99"-koodiesimerkki näyttää, kuinka vaatia-toimintoa käytetään
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { }); var server=app.listen(3000,function() { });
- Itse ensimmäisessä lauseessa käytämme "require" -avainsanaa sisällyttääksemme pikamoduulin. "Express"-moduuli on optimoitu JavaKäsikirjoitus kirjasto Node.js:n kehittämiseen. Tämä on yksi yleisimmin käytetyistä Node.js-moduuleista.
- Moduulin sisällyttämisen jälkeen objekti on luotava, jotta moduulin toimintoja voidaan käyttää. Täällä luodaan pikamoduulin objekti.
- Kun moduuli on sisällytetty "require"-komennolla ja "objekti" on luotu, pikamoduulin vaaditut menetelmät voidaan kutsua. Tässä käytämme set-komentoa näkymämoottorin asettamiseen, jota käytetään Node.js:ssä käytettävän mallinnuskoneen asettamiseen.
- Tässä käytämme kuuntelumenetelmää saadaksemme sovelluksen kuuntelemaan tiettyä porttinumeroa.
Huomautus: -(Vain lukijan ymmärryksen vuoksi; mallinnusmoottori on tapa lisätä arvoja sovellukseen poimimalla dataa datatiedostoista. Tämä käsite on melko kuuluisa Angular JS:ssä, jossa aaltosulkeilla {{avain }} korvataan arvot Web-sivu. Sana "avain" aaltosulkeissa tarkoittaa periaatteessa muuttujaa, joka korvataan arvolla, kun sivu näytetään.)
Kuinka luoda NPM-moduuleja
Node.js voi luoda mukautettuja moduuleja ja antaa sinun sisällyttää kyseiset mukautetut moduulit Node.js-sovellukseesi.
Katsotaanpa yksinkertaista esimerkkiä siitä, kuinka voimme luoda oman moduulimme ja sisällyttää sen pääsovellustiedostoomme. Moduulimme tekee vain yksinkertaisen tehtävän lisäämällä kaksi numeroa.
Noudatetaan alla olevia ohjeita nähdäksesi kuinka voimme luoda moduuleja ja sisällyttää ne sovellukseemme.
Seuraavassa on vaiheittainen prosessi NPM-moduulien luomiseen
Vaihe 1) Luo tiedosto ja liitä alla oleva koodi
Luo tiedosto nimeltä "Addition.js" ja lisää alla oleva koodi. Tämä tiedosto sisältää moduulisi logiikan.
Alla on koodi, joka menee tähän tiedostoon;
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- Vienti-avainsanaa käytetään varmistamaan, että muut tiedostot voivat todella käyttää tässä tiedostossa määritettyjä toimintoja.
- Määritämme sitten funktion nimeltä 'AddNumber'. Tämä funktio on määritetty ottamaan 2 parametria, a ja b. Toiminto lisätään moduuliin "vientit", jotta toiminto on julkinen toiminto, jota muut sovellusmoduulit voivat käyttää.
- Viimeinkin saamme funktiomme palauttamaan parametrien lisäarvon.
Nyt kun olemme luoneet mukautetun moduulimme, jossa on toiminto lisätä 2 numeroa. Nyt on aika luoda sovellus, joka kutsuu tätä moduulia.
Seuraavassa vaiheessa näemme itse asiassa, kuinka luodaan sovellus, joka kutsuu mukautettua moduuliamme.
Vaihe 2) Luo sovellustiedosto
Luo tiedosto nimeltä "app.js", joka on pääsovellustiedostosi, ja lisää alla oleva koodi
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- Käytämme "require" -avainsanaa sisällyttääksemme toiminnon Addition.js-tiedostoon.
- Koska Addition.js-tiedoston funktiot ovat nyt käytettävissä, voimme nyt kutsua AddNumber-funktiota. Funktiossa annamme 2 numeroa parametreina. Näytämme sitten arvon konsolissa.
ulostulo:
- Kun suoritat app.js-tiedoston, saat konsolin lokiin tulosteen arvo 3.
- Tämä johtuu siitä, että AddNumber-funktion kutsuminen Addition.js-tiedostossa onnistui ja palautettu arvo 3 näytettiin konsolissa.
Huomautus: – Emme käytä "Node-pakettien hallintaa" vielä Addition.js-moduulin asentamiseen. Tämä johtuu siitä, että moduuli on jo osa projektiamme paikallisella koneella. Node-paketinhallinta tulee kuvaan, kun julkaiset moduulin Internetissä, minkä näemme seuraavassa aiheessa.
Moduulien laajentaminen Node.js:ssä
Moduuleja luotaessa on myös mahdollista laajentaa tai periä yksi moduuli toisesta.
Nykyajan ohjelmoinnissa on melko yleistä rakentaa kirjasto yhteisistä moduuleista ja sitten laajentaa näiden yhteisten moduulien toimintoja tarvittaessa.
Katsotaanpa esimerkkiä siitä, kuinka voimme laajentaa moduuleja Node.js:ssä.
Vaihe 1) Luo perusmoduuli.
Luo esimerkissämme tiedosto nimeltä "Tutorial.js" ja sijoita alla oleva koodi.
Tässä koodissa luomme vain funktion, joka palauttaa merkkijonon konsoliin. Palautettu merkkijono on "Guru99 Tutorial".
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- Vientimoduulia käytetään niin, että mikä tahansa tässä tiedostossa määritetty toiminto voi olla käytettävissä muissa Node.js:n moduuleissa
- Olemme luomassa toimintoa nimeltä tutorial, jota voidaan käyttää muissa Node.js-moduuleissa.
- Näytämme konsolissa merkkijonoa "Guru99 Tutorial", kun tätä toimintoa kutsutaan.
Nyt kun olemme luoneet perusmoduulimme nimeltä Tutorial.js. Nyt on aika luoda toinen moduuli, joka laajentaa tätä perusmoduulia.
Tutkimme, miten tämä tehdään seuraavassa vaiheessa.
Vaihe 2) Seuraavaksi luomme laajennetun moduulimme. Luo uusi tiedosto nimeltä "NodeTutorial.js" ja sijoita alla oleva koodi tiedostoon.
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(); } }
Huomaa seuraavat avainkohdat yllä olevasta koodista
- Käytämme "require" -toimintoa itse uudessa moduulitiedostossa. Koska aiomme laajentaa olemassa olevaa moduulitiedostoa "Tutorial.js", meidän on ensin sisällytettävä se ennen sen laajentamista.
- Luomme sitten funktion nimeltä "Nodetutorial". Tämä toiminto tekee 2 asiaa,
- Se lähettää konsoliin merkkijonon "Node Tutorial".
- Se lähettää merkkijonon "Guru99 Tutorial" perusmoduulista "Tutorial.js" laajennettuun moduuliimme "NodeTutorial.js".
- Tässä suoritamme ensimmäisen vaiheen lähettääksemme merkkijonon "Node Tutorial" -sovellukseen konsoliin.
- Seuraava askel on kutsua toimintoa opetusmoduulistamme, joka tulostaa merkkijonon "Guru99 Tutorial" tiedostoon console.log.
Vaihe 3) Luo tärkein app.js-tiedosto, joka on pääsovellustiedostosi, ja sisällytä alla oleva koodi.
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
Yllä oleva koodi tekee seuraavat asiat;
- Pääsovellustiedostomme nimi on nyt "NodeTutorial" -moduuli.
- Kutsumme "NodeTutorial" -toimintoa. Kutsumalla tätä toimintoa teksti "Node Tutorial" näkyy konsolin lokissa.
- Koska olemme laajentaneet Tutorial.js-moduuliamme ja paljastaneet pTutor-nimisen toiminnon. Se kutsuu myös Tutorial.js-moduulin opetusohjelmamoduulia, ja teksti "Guru99 Tutorial" näkyy myös konsolissa.
lähtö:
Koska olemme suorittaneet yllä olevan app.js-koodin käyttämällä Nodea, saamme seuraavan tulosteen console.log-tiedostossa
- Solmun opetusohjelma
- Guru99-opetusohjelma
NPM (Node Package Manager) Publish Package
Voit julkaista oman moduulinsa omaksi Github arkistoon.
Julkaisemalla moduulisi keskeiseen paikkaan sinun ei tarvitse asentaa itseäsi jokaiselle sitä vaativalle koneelle.
Sen sijaan voit käyttää npm:n asennuskomentoa ja asentaa julkaistun npm-moduulin.
Seuraavia vaiheita on noudatettava julkaistaksesi npm-moduuli
Vaihe 1) Luo arkistosi GitHubissa (online koodivaraston hallintatyökalu). Sitä voidaan käyttää koodivarastojesi isännöimiseen.
Vaihe 2) Sinun on kerrottava paikalliselle npm-asennukselle kuka olet. Tämä tarkoittaa, että meidän on kerrottava npm:lle, kuka on tämän moduulin kirjoittaja, mikä on sähköpostiosoite ja mikä tahansa yrityksen URL-osoite, joka on saatavilla ja joka on liitettävä tähän tunnukseen. Kaikki nämä tiedot lisätään npm-moduuliisi, kun se julkaistaan.
Alla olevat komennot asettavat npm-moduulin kirjoittajan nimen, sähköpostiosoitteen ja URL-osoitteen.
npm asettaa aloituksen tekijän nimen "Guru99".
npm aseta init-author-email "guru99@gmail.com"
npm asettaa init-author-url "http://Guru99.com"
Vaihe 3) Seuraava vaihe on kirjautua sisään npm:ään käyttämällä viimeisessä vaiheessa annettuja tunnistetietoja. Kirjaudu sisään käyttämällä alla olevaa komentoa
npm login
Vaihe 4) Alusta paketti – Seuraava vaihe on paketin alustaminen paketti.json-tiedoston luomiseksi. Tämä voidaan tehdä antamalla alla oleva komento
npm init
Kun annat yllä olevan komennon, sinulta kysytään joitain kysymyksiä. Tärkein niistä on moduulisi versionumero.
Vaihe 5) Julkaise GitHubissa – Seuraava vaihe on julkaista lähdetiedostot GitHubissa. Tämä voidaan tehdä suorittamalla alla olevat komennot.
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
Vaihe 6) Julkaise moduulisi – Viimeinen bitti on julkaista moduuli npm-rekisteriin. Tämä tehdään alla olevan komennon kautta.
npm publish
Kolmannen osapuolen pakettien hallinta npm:llä
Kuten olemme nähneet, "Node-pakettien hallinta" pystyy hallitsemaan moduuleja, joita Node.js-sovellukset vaativat.
Katsotaanpa joitain node-pakettien hallinnassa käytettävissä olevia toimintoja moduulien hallintaan
- Pakettien asennus globaalissa tilassa – Moduulit voidaan asentaa globaalilla tasolla, mikä tarkoittaa periaatteessa sitä, että nämä moduulit olisivat saatavilla kaikkiin Node.js-projekteihin paikallisella koneella. Alla oleva esimerkki näyttää kuinka "pikamoduuli" asennetaan globaalilla valinnalla.npm install express –global Yllä olevan lausunnon yleinen vaihtoehto mahdollistaa moduulien asennuksen globaalilla tasolla.
- Luettelo kaikista paikalliseen koneeseen asennetuista globaaleista paketeista. Tämä voidaan tehdä suorittamalla alla oleva komento komentokehotteessanpm lista – globaaliAlla on tulos, joka näytetään, jos olet aiemmin asentanut "express-moduulin" järjestelmääsi. Täällä voit nähdä paikalliseen koneeseen asennetut eri moduulit.
- Paketin tietyn version asentaminen – Joskus voi olla vaatimus asentaa vain paketin tietty versio. Kun tiedät paketin nimen ja asennettavan version, voit asentaa kyseisen version käyttämällä npm install -komentoa. Alla oleva esimerkki näyttää, kuinka asennetaan moduuli, jota kutsutaan alaviivaksi tietyn version 1.7.0npm install kanssa. alaviiva@1.7.0
- Pakettiversion päivittäminen – Joskus järjestelmässä voi olla paketin vanhempi versio, ja saatat haluta päivittää uusimpaan markkinoilla olevaan versioon. Voit tehdä tämän käyttämällä npm update -komentoa. Alla oleva esimerkki näyttää, kuinka alaviivapaketti päivitetään uusimpaan versioonnpm-päivityksen alaviiva
- Tietyn paketin etsiminen – Jos haluat etsiä, onko tietty versio saatavilla paikallisessa järjestelmässä, voit käyttää hakukomentoa npm. Alla oleva esimerkki tarkistaa, onko pikamoduuli asennettu paikalliseen koneeseen vai ei.npm haku express
- Paketin asennuksen poistaminen – Sama, johon voit asentaa paketin, voit myös poistaa paketin. Paketin asennuksen poisto tehdään npm:n asennuksen poistokomennolla. Alla oleva esimerkki näyttää kuinka pikamoduuli poistetaannpm uninstall express
Mikä on package.json-tiedosto
Package.json-tiedostoa käytetään pitämään metatiedot tietystä projektista. Nämä tiedot antavat Node-pakettien hallintaohjelmalle tarvittavat tiedot ymmärtääkseen, kuinka projektia ja sen riippuvuuksia tulee käsitellä.
Package.json-tiedostot sisältävät tietoja, kuten projektin kuvauksen, projektin version tietyssä jakelussa, lisenssitiedot ja määritystiedot.
Package.json-tiedosto sijaitsee tavallisesti Node.js-projektin juurihakemistossa.
Otetaan esimerkki siitä, miltä moduulin rakenne näyttää, kun se asennetaan npm:n kautta.
Alla oleva tilannekuva näyttää express-moduulin tiedoston sisällön, kun se sisältyy Node.js-projektiisi. Tilannekuvasta näet paketin.json-tiedoston express-kansiossa.
Jos avaat package.json-tiedoston, näet tiedostossa paljon tietoa.
Alla on tilannekuva tiedoston osasta. The express@~4.13.1 mainitsee käytetyn pikamoduulin versionumeron.
Yhteenveto
- Node.js:n moduuli on koodin looginen kapselointi yhteen yksikköön. Moduuliin jakaminen tekee koodista hallittavamman ja ylläpidettävämmän tulevaisuutta varten
- Markkinoilla on monia moduuleja, joita voidaan käyttää Node.js:ssä, kuten express, underscore, MongoDB, Jne
- Node-pakettien hallintaa (npm) käytetään moduulien lataamiseen ja asentamiseen, joita voidaan sitten käyttää Node.js-sovelluksessa.
- Voidaan luoda mukautettuja NPM-moduuleja, laajentaa näitä moduuleja ja myös julkaista näitä moduuleja.
- Node-paketinhallinnassa on täydellinen joukko komentoja paikallisen järjestelmän npm-moduuleiden hallintaan, kuten asennus, asennuksen poistaminen, haku jne.
- Package.json-tiedostoa käytetään npm-moduulin koko metatietotietojen säilyttämiseen.