Jedná se o Node Package Manager - neboli správce balíků pro službu Node.js. Node.js je prostředí, ve kterém dokáže běžet JavaScript v příkazovém řádku, tedy jako server. NPM je systém pro instalaci závislostí / knihoven, které se instalují přes příkazový řádek a není tak nutné je používat z externího online zdroje.
Node.js — Run JavaScript Everywhere
Originální návod na instalaci Node.js
Po instalaci Node je v příkazovém řádku dostupný příkaz node
a příkaz npm
. Otestování těchto příkazů lze provést pomocí node -v
a npm -v
, kde získáme informaci o aktuálně nainstalované verzi daného příkazu.
<aside> 💡
Ve většina případů se instalace nebude provádět skrze instalátor, ale skrze příkazový řádek. Na Linuxu skrze apt
a jiné na Macu skrze brew
a jiné příkazy.
</aside>
Nutná je patřičná složková struktura, která obsahuje v základu 2 soubory a jednu složku. Vše je uvnitř root složky projektu, který právě vytváříme.
package.json
- Výchozí konfigurační soubor projektu. Obsahuje název, autora, verzi projektu a další popisné informace. Dále pak závislosti projektu na knihovnách - jak vývojových tak produkčních + jejich minimální verze a umožňuje vytvořit seznam vlastních scriptů, které skracují příkazy příkazového řádku v aktuálním projektu. Soubor se verzuje!package-lock.json
- Soubor, který se generuje po instalaci a drží informace o právě nainstalovaných knihovnách (verze mohou být rozdílné oproti package.json
) - někdy tento soubor dělá problémy při instalaci a je nutné jej smazat aby se znovu vytvořil. Nejčastěji je problém při přicházení mezi UNIX-like OS a Windows. Soubor se verzuje!node_modules
- Složka, která se generuje a obsahuje všechny nainstalované knihovny a závislosti použitelné v projektu. Složka se nevezeruje, může zabírat až desítky GB!Některé projekty používají yarn
- právě alternativu NPM.
Existují 2 způsoby názvů u knihoven. Jeden je přímý název, například bootstrap. Tedy knihovna by se instalovala npm i bootstrap
. Pak existují knihovny, které nesou název například @ionic/cli nebo @ionic/angular … Takto pojmenované knihovny jsou specifikovány “prefixem” který označuje company, která knihovny vydává. Není možné se vydávat za knihovny, které nesou toto “firemní” označení. Instalace by vypadala npm i @ionic/cli
. Tedy firemní jsou komplikovanější na vytvoření, ale hlavně lépe reflektují to co konkrétní firma (nebo skupina) vytváří a není to tak matoucí kdyby projekty byly jen cli nebo angular, to samé platí i o ionic-cli nebo ionic-angular. I zde pojmenování přes @ a / je daleko přehlednější a hlavně ucelenější.
Pro inicializaci, můžeme buď vytvořit soubor uvnitř projektu package.json
a nebo použít příkaz npm init
uvnitř složky našeho projektu. Tento příkaz vás provede veškerým potřebným nastavením a vytvoří nutné soubory (i ty, které nejsou v některých projektech potřeba).
Knihovny lze najít na Googlu, lépe však přímo na GitHub a nejlépe přímo na webu, kde lze filtrovat knihivny http://npmjs.com/. U každé knihovny je většinou napsán “základní” postup jak knihovnu nainstalovat. Instalace se může ovšem lišit projekt od projektu v závislosti na dalších knihovnách. Některé knihovny není vhodné kombinovat! Příklad: React, Angular, Vue s jQuery a další!
Základní instalace je skrze příkazový řádek, nic ovšem nebrání upravit soubor package.json a spustit instalaci ručně pomocí příkazu npm i
.