Samouczek NPM Node.js: Jak tworzyć, rozszerzać i publikować moduły

Moduły Node.js

Moduł w Node.js to logiczna enkapsulacja kodu w pojedynczej jednostce. Zawsze dobrą praktyką programistyczną jest segregowanie kodu w taki sposób, aby był łatwiejszy w zarządzaniu i utrzymaniu do przyszłych celów. W tym miejscu do akcji wkraczają moduły w Node.js.

Ponieważ każdy moduł jest niezależną jednostką z własną zamkniętą funkcjonalnością, można nim zarządzać jako oddzielną jednostką pracy.

Co to jest moduł w Node.js?

Jak wspomniano wcześniej, moduły w Node js są sposobem na hermetyzację kodu w oddzielnej jednostce logicznej. Na rynku dostępnych jest wiele gotowych modułów, które można wykorzystać w Node js.

Poniżej znajdują się niektóre z popularnych modułów używanych w aplikacji Node js

  1. Ekspresowe ramy – Express to minimalistyczna i elastyczna platforma aplikacji internetowych Node js, która zapewnia solidny zestaw funkcji dla sieci i MOBILNA aplikacji.
  2. Gniazdo.io – Socket.IO umożliwia dwukierunkową komunikację opartą na zdarzeniach w czasie rzeczywistym. Moduł ten jest dobry do tworzenia aplikacji opartych na czacie.
  3. Jadeit – Jade to wysokowydajny silnik szablonów, zaimplementowany za pomocą JAVASCRIPT dla węzła i przeglądarek.
  4. MongoDB - MongoDB Sterownik Node.js jest oficjalnie obsługiwanym sterownikiem Node.js dla MongoDB.
  5. Restyfikacja – restify to lekki framework, podobny do express do budowania API REST
  6. Bluebird – Bluebird to w pełni funkcjonalna biblioteka obietnic, która koncentruje się na innowacyjnych funkcjach i wydajności

Korzystanie z modułów w Node.js

Aby użyć modułów w a node.js aplikacji, należy je najpierw zainstalować za pomocą menedżera pakietów Node.

Poniższa linia poleceń pokazuje, jak można zainstalować moduł „express”.

npm zainstaluj ekspresowo

Używanie modułów w Node.js

  • Powyższe polecenie pobierze niezbędne pliki zawierające „moduły ekspresowe” i zajmie się instalacją
  • Po zainstalowaniu modułu, aby móc wykorzystać moduł w aplikacji Node.js należy użyć słowa kluczowego 'require'. To słowo kluczowe to sposób, w jaki Node.js wykorzystuje funkcjonalność modułu do aplikacji.

Spójrzmy na przykład użycia słowa kluczowego „wymagaj”. Poniższy przykład kodu „Guru99” pokazuje, jak używać funkcji require

Używanie modułów w Node.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
});
var server=app.listen(3000,function()
{
});
  1. W samej pierwszej instrukcji używamy słowa kluczowego „require”, aby uwzględnić moduł express. Moduł „ekspresowy” jest zoptymalizowany JAVASCRIPT biblioteka do programowania Node.js. Jest to jeden z najczęściej używanych modułów Node.js.
  2. Po dołączeniu modułu, aby móc korzystać z funkcjonalności modułu należy utworzyć obiekt. Tutaj tworzony jest obiekt modułu ekspresowego.
  3. Po włączeniu modułu za pomocą polecenia „require” i utworzeniu „obiektu” można wywołać wymagane metody modułu express. Tutaj używamy polecenia set, aby ustawić silnik widoku, który służy do ustawienia silnika szablonów używanego w Node.js.
  4. Uwaga: -(Tylko dla zrozumienia czytelnika; silnik szablonów to podejście do wstrzykiwania wartości do aplikacji poprzez pobieranie danych z plików danych. Ta koncepcja jest dość znana w Angular JS, gdzie nawiasy klamrowe {{ key }} są używane do zastępowania wartości na stronie internetowej. Słowo „klucz” w nawiasach klamrowych zasadniczo oznacza zmienną, która zostanie zastąpiona wartością po wyświetleniu strony.)

  5. Tutaj używamy metody nasłuchiwania, aby aplikacja nasłuchiwała na określonym numerze portu.

Jak utworzyć moduły NPM

Node.js ma możliwość tworzenia niestandardowych modułów i pozwala na dołączenie tych niestandardowych modułów do aplikacji Node.js.

Przyjrzyjmy się prostemu przykładowi, jak możemy utworzyć własny moduł i dołączyć go do głównego pliku aplikacji. Nasz moduł wykona po prostu proste zadanie dodania dwóch liczb.

Wykonajmy poniższe kroki, aby zobaczyć, jak możemy utworzyć moduły i włączyć je do naszej aplikacji.

Poniżej przedstawiono krok po kroku proces tworzenia modułów NPM

Krok 1) Utwórz plik i wklej poniższy kod
Utwórz plik o nazwie „Addition.js” i dołącz poniższy kod. Ten plik będzie zawierał logikę modułu.

Poniżej znajduje się kod, który wejdzie do tego pliku;

Tworzenie modułów NPM

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
  1. Słowo kluczowe „exports” służy do zapewnienia, że ​​funkcje zdefiniowane w tym pliku będą faktycznie dostępne dla innych plików.
  2. Następnie definiujemy funkcję o nazwie „AddNumber”. Ta funkcja jest zdefiniowana tak, aby przyjmować 2 parametry, a i b. Funkcja jest dodawana do modułu „eksport”, aby stała się funkcją publiczną, do której będą mogły uzyskać dostęp inne moduły aplikacji.
  3. W końcu sprawiamy, że nasza funkcja zwraca wartość dodaną parametrów.

Teraz, gdy utworzyliśmy nasz niestandardowy moduł, który ma funkcjonalność dodawania 2 liczb, nadszedł czas na utworzenie aplikacji, która będzie wywoływać ten moduł.

W kolejnym kroku zobaczymy jak stworzyć aplikację, która będzie wywoływać nasz moduł.

Krok 2) Utwórz plik aplikacji
Utwórz plik o nazwie „app.js”, który będzie głównym plikiem aplikacji i dodaj poniższy kod

Tworzenie modułów NPM

var Addition=require('./Addition.js');
console.log(Addition.AddNumber(1,2));
  1. Używamy słowa kluczowego „require”, aby uwzględnić funkcjonalność w pliku Addition.js.
  2. Ponieważ funkcje w pliku Addition.js są teraz dostępne, możemy teraz wywołać funkcję AddNumber. W funkcji przekazujemy 2 liczby jako parametry. Następnie wyświetlamy wartość w konsoli.

Tworzenie modułów NPM

Wydajność:

  • Po uruchomieniu pliku app.js w dzienniku konsoli pojawi się wynik o wartości 3.
  • Wynik jest spowodowany tym, że funkcja AddNumber w pliku Addition.js została wywołana pomyślnie, a zwrócona wartość 3 została wyświetlona w konsoli.

Uwaga: – Nie używamy jeszcze „menedżera pakietów Node” do instalacji naszego modułu Addition.js. Dzieje się tak dlatego, że moduł jest już częścią naszego projektu na komputerze lokalnym. Menedżer pakietów Node pojawia się na obrazku, gdy publikujesz moduł w Internecie, co widzimy w kolejnym temacie.

Rozszerzanie modułów w Node.js

Podczas tworzenia modułów istnieje także możliwość rozszerzenia lub dziedziczenia jednego modułu z drugiego.

We współczesnym programowaniu dość powszechne jest budowanie biblioteki wspólnych modułów, a następnie w razie potrzeby rozszerzanie ich funkcjonalności.

Spójrzmy na przykład tego, jak możemy rozszerzyć moduły w Node.js.

Krok 1) Utwórz moduł podstawowy.

W naszym przykładzie utwórz plik o nazwie „Tutorial.js” i umieść poniższy kod.

W tym kodzie tworzymy po prostu funkcję, która zwraca ciąg znaków do konsoli. Zwrócony ciąg to „Samouczek Guru99”.

Rozszerzanie modułów w Node.js

var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutorial")
}
  1. Moduł eksportu służy do tego, aby jakakolwiek funkcja zdefiniowana w tym pliku mogła być dostępna w innych modułach Node.js
  2. Tworzymy funkcję o nazwie tutorial, którą można wykorzystać w innych modułach Node.js.
  3. Po wywołaniu tej funkcji wyświetlamy w konsoli ciąg „Guru99 Tutorial”.

Teraz, gdy stworzyliśmy nasz podstawowy moduł o nazwie Tutorial.js. Nadszedł czas na stworzenie kolejnego modułu, który będzie rozszerzał moduł bazowy.

W następnym kroku sprawdzimy, jak to zrobić.

Krok 2) Następnie stworzymy nasz rozszerzony moduł. Utwórz nowy plik o nazwie „NodeTutorial.js” i umieść w nim poniższy kod.

Rozszerzanie modułów w Node.js

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

Należy pamiętać o następujących kluczowych punktach dotyczących powyższego kodu

  1. Używamy funkcji „require” w samym pliku nowego modułu. Ponieważ zamierzamy rozszerzyć istniejący plik modułu „Tutorial.js”, musimy go najpierw uwzględnić przed rozszerzeniem.
  2. Następnie tworzymy funkcję o nazwie „Nodetutorial”. Ta funkcja zrobi 2 rzeczy,
  • Wyśle do konsoli ciąg znaków „Node Tutorial”.
  • Wyśle ciąg „Guru99 Tutorial” z modułu bazowego „Tutorial.js” do naszego rozszerzonego modułu „NodeTutorial.js”.
  1. Tutaj wykonujemy pierwszy krok polegający na wysłaniu ciągu znaków do „Node Tutorial” do konsoli.
  2. Następnym krokiem jest wywołanie funkcji z naszego modułu Tutorial, która wyśle ​​​​ciąg „Guru99 Tutorial” do pliku console.log.

Krok 3) Utwórz główny plik app.js, który jest głównym plikiem aplikacji i dołącz poniższy kod.

Rozszerzanie modułów w Node.js

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

Powyższy kod wykonuje następujące rzeczy:

  1. Nasz główny plik aplikacji wywołuje teraz moduł „NodeTutorial”.
  2. Wywołujemy funkcję „NodeTutorial”. Po wywołaniu tej funkcji tekst „Node Tutorial” zostanie wyświetlony w dzienniku konsoli.
  3. Ponieważ rozszerzyliśmy nasz moduł Tutorial.js i udostępniliśmy funkcję o nazwie pTutor. Wywołuje ona również moduł tutorial w module Tutorial.js, a tekst „Guru99 Tutorial” zostanie również wyświetlony na konsoli.

Wyjście:

Ponieważ wykonaliśmy powyższy kod app.js przy użyciu Node, w pliku console.log otrzymamy następujący wynik

  • Samouczek węzła
  • Samouczek Guru99

Pakiet publikowania NPM (Menedżer pakietów węzłów).

Można opublikować własny moduł do własnego Github magazyn.

Publikując moduł w centralnej lokalizacji, nie jesteś obciążony koniecznością samodzielnej instalacji na każdej maszynie, która tego wymaga.

Zamiast tego możesz użyć polecenia install programu npm i zainstalować opublikowany moduł npm.

Aby opublikować moduł npm, należy wykonać następujące kroki

Krok 1) Utwórz swoje repozytorium na GitHubie (narzędzie do zarządzania repozytorium kodu online). Można go używać do hostowania repozytoriów kodu.

Krok 2) Musisz poinformować swoją lokalną instalację npm o tym, kim jesteś. Oznacza to, że musimy poinformować npm, kto jest autorem tego modułu, jaki jest identyfikator e-mail i adres URL firmy, który jest dostępny i musi być powiązany z tym identyfikatorem. Wszystkie te szczegóły zostaną dodane do Twojego modułu npm, gdy zostanie opublikowany.

Poniższe polecenia ustawiają nazwę, adres e-mail i adres URL autora modułu npm.

npm ustaw init-author-name „Guru99.”

npm ustaw init-author-email „guru99@gmail.com”

npm ustaw init-author-url „http://Guru99.com”

Krok 3) Następnym krokiem jest zalogowanie się do npm przy użyciu danych uwierzytelniających podanych w ostatnim kroku. Aby się zalogować należy użyć poniższego polecenia

npm login

Krok 4) Zainicjuj pakiet — następnym krokiem jest zainicjowanie pakietu w celu utworzenia pliku package.json. Można to zrobić wydając poniższe polecenie

npm init

Kiedy wydasz powyższe polecenie, zostaniesz poproszony o kilka pytań. Najważniejszym z nich jest numer wersji modułu.

Krok 5) Publikuj w GitHub – Następnym krokiem jest opublikowanie plików źródłowych w GitHub. Można to zrobić, uruchamiając poniższe polecenia.

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

Krok 6) Opublikuj swój moduł — Ostatnim krokiem jest opublikowanie modułu w rejestrze npm. Odbywa się to za pomocą poniższego polecenia.

npm publish

Zarządzanie pakietami stron trzecich za pomocą npm

Jak widzieliśmy, „Menedżer pakietów Node” ma możliwość zarządzania modułami wymaganymi przez aplikacje Node.js.

Przyjrzyjmy się niektórym funkcjom dostępnym w menedżerze pakietów węzłów do zarządzania modułami

  1. Instalowanie pakietów w trybie globalnym – Moduły można instalować na poziomie globalnym, co w zasadzie oznacza, że ​​moduły te będą dostępne dla wszystkich projektów Node.js na komputerze lokalnym. Poniższy przykład pokazuje jak zainstalować „moduł ekspresowy” z opcją globalną.npm install express –global Opcja globalna w powyższym stwierdzeniu umożliwia instalację modułów na poziomie globalnym.
  2. Lista wszystkich pakietów globalnych zainstalowanych na komputerze lokalnym. Można to zrobić, wykonując poniższe polecenie w wierszu poleceńlista npm –globalnaPoniżej znajduje się wynik, który zostanie wyświetlony, jeśli wcześniej zainstalowałeś „moduł ekspresowy” w swoim systemie. Tutaj możesz zobaczyć różne moduły zainstalowane na komputerze lokalnym.

Zarządzanie pakietami stron trzecich za pomocą NPM

  1. Instalowanie określonej wersji pakietu — czasami może zaistnieć potrzeba zainstalowania tylko określonej wersji pakietu. Gdy znasz nazwę pakietu i odpowiednią wersję, którą należy zainstalować, możesz użyć polecenia npm install, aby zainstalować tę konkretną wersję. Poniższy przykład pokazuje, jak zainstalować moduł o nazwie podkreślenie z określoną wersją 1.7.0npm install podkreślenie@1.7.0
  2. Aktualizacja wersji pakietu — czasami możesz mieć starszą wersję pakietu w systemie i możesz chcieć zaktualizować ją do najnowszej dostępnej na rynku. W tym celu można użyć polecenia npm update. Poniższy przykład pokazuje, jak zaktualizować pakiet podkreśleń do najnowszej wersjipodkreślenie aktualizacji npm
  3. Wyszukiwanie konkretnego pakietu – Aby sprawdzić, czy konkretna wersja jest dostępna w systemie lokalnym, czy nie, możesz użyć polecenia search programu npm. Poniższy przykład sprawdzi, czy moduł express jest zainstalowany na komputerze lokalnym, czy nie.ekspresowe wyszukiwanie npm
  4. Odinstalowywanie pakietu – w ten sam sposób, w którym możesz zainstalować pakiet, możesz także odinstalować pakiet. Dezinstalacja pakietu odbywa się za pomocą polecenia dezinstalacji npm. Poniższy przykład pokazuje, jak odinstalować moduł ekspresowynpm odinstaluj ekspresowo

Co to jest plik package.json

Plik „package.json” służy do przechowywania metadane dotyczące konkretnego projektu. Informacje te zapewniają menedżerowi pakietów Node informacje niezbędne do zrozumienia, w jaki sposób projekt powinien być obsługiwany wraz z jego zależnościami.

Pliki package.json zawierają takie informacje, jak opis projektu, wersja projektu w określonej dystrybucji, informacje o licencji i dane konfiguracyjne.

Plik package.json zwykle znajduje się w katalogu głównym projektu Node.js.

Weźmy przykład tego, jak wygląda struktura modułu, gdy jest on zainstalowany przez npm.

Poniższy zrzut ekranu przedstawia zawartość pliku modułu express, gdy jest on zawarty w projekcie Node.js. Z migawki widać plik package.json w folderze Express.

Plik Package.json

Jeśli otworzysz plik package.json, zobaczysz w nim wiele informacji.

Poniżej znajduje się migawka części pliku. The ekspresowy@~4.13.1 podaje numer wersji używanego modułu express.

Plik Package.json

Podsumowanie

  • Moduł w Node.js to logiczna enkapsulacja kodu w pojedynczej jednostce. Podział na moduły sprawia, że ​​kod jest łatwiejszy w zarządzaniu i utrzymaniu do przyszłych celów
  • Na rynku dostępnych jest wiele modułów, których można używać w Node.js, takich jak express, podkreślenie, MongoDB, itp.
  • Menedżer pakietów węzłów (npm) służy do pobierania i instalowania modułów, których można następnie używać w aplikacji Node.js.
  • Można tworzyć niestandardowe moduły NPM, rozszerzać te moduły, a także publikować te moduły.
  • Menedżer pakietów Node zawiera kompletny zestaw poleceń umożliwiających zarządzanie modułami npm w systemie lokalnym, takich jak instalacja, odinstalowywanie, wyszukiwanie itp.
  • Plik package.json służy do przechowywania wszystkich informacji o metadanych modułu npm.