Výukový program Node.js NPM: Jak vytvářet, rozšiřovat a publikovat moduly

Moduly Node.js

Modul v Node.js je logické zapouzdření kódu do jediné jednotky. Vždy je dobrým programátorským postupem vždy oddělit kód takovým způsobem, aby byl lépe spravovatelný a udržovatelný pro budoucí účely. To je místo, kde moduly v Node.js působí.

Vzhledem k tomu, že každý modul je nezávislou entitou s vlastní zapouzdřenou funkčností, lze jej spravovat jako samostatnou jednotku práce.

Co je modul v Node.js?

Jak bylo uvedeno dříve, moduly v Node js jsou způsobem zapouzdření kódu do samostatné logické jednotky. Na trhu je k dispozici mnoho hotových modulů, které lze použít v rámci Node js.

Níže jsou uvedeny některé oblíbené moduly, které se používají v aplikaci Node js

  1. Expresní rámec – Express je minimální a flexibilní rámec webových aplikací Node js, který poskytuje robustní sadu funkcí pro web a mobilní aplikace.
  2. socket.io – Socket.IO umožňuje obousměrnou komunikaci založenou na událostech v reálném čase. Tento modul je vhodný pro vytváření aplikací založených na chatování.
  3. Nefrit – Jade je vysoce výkonný šablonovací engine a implementovaný s JavaScénář pro uzel a prohlížeče.
  4. MongoDB - MongoDB Ovladač Node.js je oficiálně podporovaný ovladač pro node.js MongoDB.
  5. Restify – restify je odlehčený framework, podobný expresnímu pro vytváření REST API
  6. Bluebird – Bluebird je plně vybavená knihovna slibů se zaměřením na inovativní funkce a výkon

Použití modulů v Node.js

Chcete-li použít moduly v a Node.js nejprve je třeba je nainstalovat pomocí správce balíčků Node.

Níže uvedený příkazový řádek ukazuje, jak lze nainstalovat modul „express“.

npm install express

Použití modulů v Node.js

  • Výše uvedený příkaz stáhne potřebné soubory, které obsahují „expresní moduly“ a postará se také o instalaci
  • Jakmile je modul nainstalován, abyste mohli používat modul v aplikaci Node.js, musíte použít klíčové slovo 'require'. Toto klíčové slovo je způsob, který Node.js používá k začlenění funkcí modulu do aplikace.

Podívejme se na příklad, jak můžeme použít klíčové slovo „vyžadovat“. Níže uvedený příklad kódu „Guru99“ ukazuje, jak používat funkci vyžadovat

Použití modulů v 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. V prvním příkazu samotném používáme klíčové slovo „vyžadovat“ k zahrnutí expresního modulu. Modul „expres“ je optimalizovaný JavaScénář knihovna pro vývoj Node.js. Toto je jeden z nejčastěji používaných modulů Node.js.
  2. Poté, co je modul zahrnut, aby bylo možné používat funkce v modulu, je třeba vytvořit objekt. Zde se vytvoří objekt expresního modulu.
  3. Jakmile je modul zahrnut pomocí příkazu „require“ a je vytvořen „object“, lze vyvolat požadované metody expresního modulu. Zde používáme příkaz set k nastavení modulu zobrazení, který se používá k nastavení modulu šablon používaného v Node.js.
  4. Poznámka: -(Jen pro pochopení čtenáře; šablonovací modul je přístup pro vkládání hodnot do aplikace sbíráním dat z datových souborů. Tento koncept je docela slavný v Angular JS, kde se složené závorky {{ klíč }} používají k nahrazení hodnot v webová stránka Slovo „klíč“ ve složených závorkách v podstatě označuje proměnnou, která bude při zobrazení stránky nahrazena hodnotou.)

  5. Zde používáme metodu listen to, aby aplikace naslouchala na konkrétním čísle portu.

Jak vytvořit moduly NPM

Node.js má schopnost vytvářet vlastní moduly a umožňuje vám zahrnout tyto vlastní moduly do vaší aplikace Node.js.

Podívejme se na jednoduchý příklad, jak můžeme vytvořit vlastní modul a zahrnout jej do hlavního souboru aplikace. Náš modul provede jednoduchý úkol sečíst dvě čísla.

Pojďme se řídit níže uvedenými kroky, abychom viděli, jak můžeme vytvořit moduly a zahrnout je do naší aplikace.

Následuje postup krok za krokem, jak vytvořit moduly NPM

Krok 1) Vytvořte soubor a vložte níže uvedený kód
Vytvořte soubor s názvem „Addition.js“ a vložte níže uvedený kód. Tento soubor bude obsahovat logiku vašeho modulu.

Níže je kód, který by se dostal do tohoto souboru;

Vytváření modulů NPM

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
  1. Klíčové slovo „exports“ se používá k zajištění toho, aby funkce definované v tomto souboru byly skutečně přístupné pro jiné soubory.
  2. Poté definujeme funkci s názvem 'AddNumber'. Tato funkce je definována tak, že přebírá 2 parametry aab. Funkce je přidána do modulu „exporty“, aby se funkce stala veřejnou funkcí, ke které mají přístup jiné aplikační moduly.
  3. Konečně děláme, že naše funkce vrací přidanou hodnotu parametrů.

Nyní, když jsme vytvořili náš vlastní modul, který má funkci přidání 2 čísel. Nyní je čas vytvořit aplikaci, která bude volat tento modul.

V dalším kroku vlastně uvidíme, jak vytvořit aplikaci, která bude volat náš vlastní modul.

Krok 2) Vytvořte soubor aplikace
Vytvořte soubor s názvem „app.js“, což je váš hlavní soubor aplikace, a přidejte níže uvedený kód

Vytváření modulů NPM

var Addition=require('./Addition.js');
console.log(Addition.AddNumber(1,2));
  1. K zahrnutí funkcí do souboru Addition.js používáme klíčové slovo „vyžadovat“.
  2. Protože funkce v souboru Addition.js jsou nyní přístupné, můžeme nyní zavolat funkci AddNumber. Ve funkci předáváme 2 čísla jako parametry. Hodnotu pak zobrazujeme v konzole.

Vytváření modulů NPM

Výstup:

  • Když spustíte soubor app.js, získáte v protokolu konzoly výstup s hodnotou 3.
  • Výsledkem je, že funkce AddNumber v souboru Addition.js byla úspěšně volána a v konzole se zobrazila vrácená hodnota 3.

Poznámka: – K instalaci našeho modulu Addition.js zatím nepoužíváme „Správce balíčků uzlu“. Je to proto, že modul je již součástí našeho projektu na místním počítači. Správce balíčků Node se objeví, když publikujete modul na internetu, což vidíme v následujícím tématu.

Rozšiřující moduly v Node.js

Při vytváření modulů je také možné rozšířit nebo zdědit jeden modul od druhého.

V moderním programování je zcela běžné vytvořit knihovnu běžných modulů a poté v případě potřeby rozšířit funkčnost těchto společných modulů.

Podívejme se na příklad, jak můžeme rozšířit moduly v Node.js.

Krok 1) Vytvořte základní modul.

V našem příkladu vytvořte soubor s názvem „Tutorial.js“ a vložte níže uvedený kód.

V tomto kódu právě vytváříme funkci, která vrací řetězec do konzole. Vrácený řetězec je „Guru99 Tutorial“.

Rozšiřující moduly v Node.js

var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutorial")
}
  1. Modul exportů se používá k tomu, aby jakákoli funkce definovaná v tomto souboru mohla být dostupná v jiných modulech v Node.js
  2. Vytváříme funkci s názvem tutorial, kterou lze použít v jiných modulech Node.js.
  3. Když je tato funkce volána, zobrazujeme v konzole řetězec „Guru99 Tutorial“.

Nyní, když jsme vytvořili náš základní modul s názvem Tutorial.js. Nyní je čas vytvořit další modul, který rozšíří tento základní modul.

Prozkoumáme, jak to udělat v dalším kroku.

Krok 2) Dále vytvoříme náš rozšířený modul. Vytvořte nový soubor s názvem „NodeTutorial.js“ a vložte do něj níže uvedený kód.

Rozšiřující moduly v 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();
}
}

Všimněte si následujících klíčových bodů o výše uvedeném kódu

  1. V samotném souboru nového modulu používáme funkci „vyžadovat“. Protože se chystáme rozšířit stávající soubor modulu „Tutorial.js“, musíme jej před rozšířením nejprve zahrnout.
  2. Poté vytvoříme funkci nazvanou „Nodetutorial“. Tato funkce udělá 2 věci,
  • Do konzole odešle řetězec „Node Tutorial“.
  • Odešle řetězec „Guru99 Tutorial“ ze základního modulu „Tutorial.js“ do našeho rozšířeného modulu „NodeTutorial.js“.
  1. Zde provádíme první krok k odeslání řetězce do „Node Tutorial“ do konzole.
  2. Dalším krokem je volání funkce z našeho modulu Tutorial, který vypíše řetězec „Guru99 Tutorial“ do console.log.

Krok 3) Vytvořte svůj hlavní soubor app.js, což je hlavní soubor aplikace, a zahrňte níže uvedený kód.

Rozšiřující moduly v 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

Výše uvedený kód dělá následující věci;

  1. Náš hlavní soubor aplikace nyní nazývá modul „NodeTutorial“.
  2. Voláme funkci „NodeTutorial“. Zavoláním této funkce se v protokolu konzoly zobrazí text „Node Tutorial“.
  3. Protože jsme rozšířili náš modul Tutorial.js a odhalili funkci nazvanou pTutor. Zavolá také výukový modul v modulu Tutorial.js a na konzoli se také zobrazí text „Guru99 Tutorial“.

Výstup:

Protože jsme výše uvedený kód app.js provedli pomocí Node, získáme následující výstup v souboru console.log

  • Výukový program uzlu
  • Návod na Guru99

Publikování balíčku NPM (Node Package Manager).

Jeden může publikovat svůj vlastní modul pro svůj vlastní Github úložiště.

Publikováním modulu na centrálním místě pak nebudete zatěžováni nutností instalovat se na každý počítač, který to vyžaduje.

Místo toho můžete použít příkaz install npm a nainstalovat publikovaný modul npm.

Chcete-li publikovat svůj modul npm, je třeba dodržet následující kroky

Krok 1) Vytvořte si úložiště na GitHubu (online nástroj pro správu úložiště kódu). Může být použit pro hostování vašich úložišť kódu.

Krok 2) Musíte své místní instalaci npm sdělit, kdo jste. To znamená, že musíme npm sdělit, kdo je autorem tohoto modulu, jaké je e-mailové id a jakoukoli dostupnou adresu URL společnosti, která musí být s tímto id spojena. Všechny tyto podrobnosti budou přidány do vašeho modulu npm, jakmile bude publikován.

Níže uvedené příkazy nastavují jméno, email a URL autora modulu npm.

npm set init-author-name “Guru99.”

npm set init-author-email “guru99@gmail.com”

npm set init-author-url “http://Guru99.com”

Krok 3) Dalším krokem je přihlášení do npm pomocí přihlašovacích údajů poskytnutých v posledním kroku. Pro přihlášení musíte použít níže uvedený příkaz

npm login

Krok 4) Inicializujte svůj balíček – Dalším krokem je inicializace balíčku a vytvoření souboru package.json. To lze provést zadáním níže uvedeného příkazu

npm init

Když zadáte výše uvedený příkaz, budete požádáni o několik otázek. Nejdůležitější je číslo verze vašeho modulu.

Krok 5) Publikování na GitHubu – Dalším krokem je publikování zdrojových souborů na GitHubu. To lze provést spuštěním níže uvedených příkazů.

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

Krok 6) Publikování modulu – Posledním krokem je publikování modulu do registru npm. To se provádí pomocí níže uvedeného příkazu.

npm publish

Správa balíčků třetích stran pomocí npm

Jak jsme viděli, „Node package manager“ má schopnost spravovat moduly, které jsou vyžadovány aplikacemi Node.js.

Podívejme se na některé funkce dostupné ve správci balíčků uzlů pro správu modulů

  1. Instalace balíčků v globálním režimu – Moduly lze instalovat na globální úrovni, což v podstatě znamená, že tyto moduly budou dostupné pro všechny projekty Node.js na lokálním počítači. Níže uvedený příklad ukazuje, jak nainstalovat „expresní modul“ s globální možností.npm install express –global Globální možnost ve výše uvedeném prohlášení umožňuje instalaci modulů na globální úrovni.
  2. Výpis všech globálních balíčků nainstalovaných na místním počítači. To lze provést provedením níže uvedeného příkazu v příkazovém řádkuseznam npm – globálníNíže je výstup, který se zobrazí, pokud jste dříve nainstalovali „expresní modul“ na váš systém. Zde můžete vidět různé moduly nainstalované na místním počítači.

Správa balíčků třetích stran pomocí NPM

  1. Instalace konkrétní verze balíčku – Někdy může být potřeba nainstalovat pouze konkrétní verzi balíčku. Jakmile znáte název balíčku a příslušnou verzi, kterou je třeba nainstalovat, můžete použít příkaz npm install k instalaci této konkrétní verze. Níže uvedený příklad ukazuje, jak nainstalovat modul s názvem podtržítko s konkrétní verzí 1.7.0npm install podtržítko@1.7.0
  2. Aktualizace verze balíčku – Někdy můžete mít v systému starší verzi balíčku a možná budete chtít aktualizovat na nejnovější verzi dostupnou na trhu. K tomu lze použít příkaz npm update. Níže uvedený příklad ukazuje, jak aktualizovat balíček podtržení na nejnovější verzipodtržítko aktualizace npm
  3. Hledání konkrétního balíku – Chcete-li zjistit, zda je konkrétní verze dostupná v lokálním systému, nebo ne, můžete použít vyhledávací příkaz npm. Níže uvedený příklad zkontroluje, zda je expresní modul nainstalován na místním počítači nebo ne.expresní vyhledávání npm
  4. Odinstalování balíčku – Stejně jako můžete nainstalovat balíček, můžete také odinstalovat balíček. Odinstalování balíčku se provádí příkazem uninstallation npm. Níže uvedený příklad ukazuje, jak odinstalovat expresní modulnpm uninstall express

Co je soubor package.json

Soubor „package.json“ se používá k uložení metadata o konkrétním projektu. Tyto informace poskytují správci balíčků Node nezbytné informace, aby pochopil, jak by se mělo s projektem zacházet a jeho závislostmi.

Soubory package.json obsahují informace, jako je popis projektu, verze projektu v konkrétní distribuci, informace o licenci a konfigurační data.

Soubor package.json je normálně umístěn v kořenovém adresáři projektu Node.js.

Vezměme si příklad, jak vypadá struktura modulu, když je nainstalován přes npm.

Níže uvedený snímek ukazuje obsah souboru expresního modulu, když je zahrnut do vašeho projektu Node.js. Ze snímku můžete vidět soubor package.json ve složce Express.

Soubor Package.json

Pokud otevřete soubor package.json, uvidíte v souboru spoustu informací.

Níže je snímek části souboru. The express@~4.13.1 uvádí číslo verze použitého expresního modulu.

Soubor Package.json

Shrnutí

  • Modul v Node.js je logické zapouzdření kódu do jediné jednotky. Díky oddělení do modulů je kód lépe spravovatelný a udržovatelný pro budoucí účely
  • Na trhu je k dispozici mnoho modulů, které lze použít v rámci Node.js, jako je express, podtržítko, MongoDB, Etc.
  • Správce balíčků uzlů (npm) se používá ke stažení a instalaci modulů, které pak lze použít v aplikaci Node.js.
  • Je možné vytvářet vlastní moduly NPM, rozšiřovat tyto moduly a také tyto moduly publikovat.
  • Správce balíčků Node má kompletní sadu příkazů pro správu modulů npm v místním systému, jako je instalace, odinstalace, vyhledávání atd.
  • Soubor package.json se používá k uložení všech informací o metadatech pro modul npm.