Blog image

NPM / Composer / ostatní manažery

publikoval Krowi

18.11.2018

Modernizace vývoje - balíčkovací manažery (obsah připravený pro potřeby vývojového týmu, ve kterém v současné době působím) 

NPM je manažerem závislostí projektu pro JS. Definuje projekt. Umožňuje vytvářet knihovny. Veřejné nebo Soukromé (zpoplatněná - pod organizací, začíná @). NPM je distribuován s Node.js - což znamená, že při stažení Node.js se automaticky instaluje npm. Vyžaduje nainstalovaný Node.js. NPM knihovny nelze mazat, pouze deaktivovat (či skrýt).

Kontrola, zda je nainstalován Node.js

node -v

Kontrola, zda je nainstalován NPM

npm -v

Inicializace (vytvoření) package.json

npm init

Nainstaluje závislosti, které budou součástí produkčního buildu 

Příkaz npm install nainstaluje také devDependencies (výchozí chování).

npm install

Instalace závislosti

Při instalaci balíčku pomocí  jej instalujete jako závislost. Balík je automaticky uveden v souboru package.json, v seznamu závislostí (dependencies ). Balíčky lze instalovat globálně přidáním přepínače "-g" - užitečné pro CLI aplikace.

npm install < balíček >

Odebrání závislosti

Při instalaci balíčku pomocí  jej instalujete jako závislost. Balík je automaticky odebrán ze souboru package.json. Balíčky lze odebírat globálně přidáním přepínače "-g".

npm uninstall < balíček >

Nainstaluje DEV závislosti, které jsou potřeba při vývoji projektu

Přidáním přepínače -D nebo --save-dev, nainstalujete závislost jako vývojovou, která jej přidává do seznamu devDependencies.

npm install -D

Nainstalovat pouze závislosti a ne devdeependencies bez ohledu na hodnotu proměnné NODE_ENV

npm install --only=prod

Publikuje obsah projektu do NPM repozitáře.

Dostupné na NPM (pouze pro public knihovny). Nevyžaduje GIT. Vyžaduje správně nastavený package.json

npm publish

SEMVER - sémantické verzování (používá Composer). Definice verzovacího standardu. Jde o normu, kterou je vhodné znát a dodržovat.

  • První číslo reprezentuje hlavní verzi (Breaking Change)
  • Druhé číslo reprezentuje nějakou novinku (features)
  • Třetí číslo bývá rychlá oprava (quick fix)

Při instalaci závislostí není od věci dávat pozor na ^. Odebrat tento znak, pokud není žádaná aktualizace závislostí při dalším volání příkazu npm install.

Clean-css balíček & NPM scripty (argumenty a proměnné)

Clean-css je rychlý a účinný optimalizátor CSS pro platformu Node.js a všechny moderní prohlížeče. Rozhraní rozhraní API a rozhraní CLI jsou odděleny. API zůstává, ale CLI je v samostatném balíčku Clean-css-cli. Clean-css-cli je rozhraní příkazového řádku pro clean-css. Instalace globálně.


Bower je další balíčkovací manažer, který se zaměřuje na webové projekty (front-end). Bower vyžaduje node, npm and git. Bower je zastaralý a již by se neměl používat pro nové projekty.

npm install -g bower

Composer je nástroj pro správu závislostí (knihoven) v PHP. Umožňuje deklarovat knihovny, na kterých váš projekt závisí a který bude využívat (připravuje se)