Nikdy nevíš, kdy to přijde
Zobrazit menu   MENU

3. Balíčkovací systém NPM + package.json

Pokud budeme více pracovat s Node.js, nevyhneme se využívání npm. O co vlastně jde? Npm je balíčkovací systém pro JavaScript. Něco podobného má většina současných programovacích jazyků. Díky npm můžeme snadno instalovat a spravovat balíčky v rámci našeho projektu, nebo třeba i sdílet náš vytvořený kód. Jde o součást instalace Node.js, pokud jste již provedli instalaci podle rad z minulých dĺů tutoriálu, npm již máte připravený. Pro ověřený stačí do příkazového řádku zadat příkaz npm, pokud je vše jak má být, odpovědí vám bude výpis seznamu příkazů.

Podle statistik je npm jedním z největších balíčkovacích systémů globálně, aktuálně by měl obsahovat téměř 100 tisíc balíčků. Obvykle s npm pracujeme pomocí příkazové řádky, ale všechny balíčky si můžete prohlédnout i přes web na adrese npmjs.org.

Co jsou to vlastně ty balíčky? Balíček (nebo také modul) může být cokoliv, od miniaturního scriptu se třemi řádky až pro kompletní framework. Pro nás je hlavní rozdělení:

Nový balíček nainstalujeme velmi jednoduchým příkazem:

npm install nazev_balicku

Balíčky se instalují do adresáře node_modules (sám se vytvoří) v adresáři aktuálního projektu. Je také možné nainstalovat balíček globálně tak, že bude použitelný pro všechny projekty. Pro takovou instalaci musíme přidat parametr -g

npm install nazev_balicku -g


package.json

V reálných projektech se neobejdeme bez souboru package.json. Ten obsahuje základní informace o celém projektu jako název, autora, popis, repozitář. Další důležitou věcí je verze Node.js, na které má projekt fungovat.

Obvykle nejobsáhlejší částí jsou pak dependencies, kde se uvádějí další balíčky včetne jejich verze, které projekt využívá (a devDependencies pro balíčky využívané pro vývoj). Pokud si stáhnete takový soubor a spustíte instalaci, všechny tyto balíčky se automaticky nainstalují.

npm install

Pokud nejde o existující projekt, ale teprve ho vytváříme, musíme si soubor sami vytvořit. To můžeme buď ručně, nebo jednodušeji přes příkazovou řádku příkazem

npm init

Npm se nás následně zeptá na několik otázek, které můžeme buď vyplnit, nebo pouze odenterovat a nechat tak výchozí hodnoty. Pokud bychom použili navíc parametr --yes, otázky by se přeskočily a všude vyplnily pouze výchozí hodnoty.

Pokud jste zkusili spustit výše uvedený příkaz a prošli všemi otázkami, vygeneroval se vám soubor se zhruba takovýmto obsahem:

{
"name": "nazev_node_projektu",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}

Vyzkoušeli jsme si základní práci s npm a příště s již zkusíme vytvořit nějaký praktický kousek kódu, kde zužitkujeme všechny v tomto článku uvedené věci.


Další díly tutoriálu

1. Co je to Node.js + instalace
2. Hello world!
3. Balíčkovací systém NPM + package.json
4. Co je to REST API
5. REST API: Založení projektu a první endpoint