Další screencast se věnuje nástroji NPM, který umožňuje snadno instalovat moduly přes příkazový řádek.
Chcete udělat nějakou krásnou aplikaci, která by uměla pracovat třeba s API od GitHub. Jak to uděláte? Pokud váš oblíbený framework zrovna tohle API nepodporuje, vygooglite „github api {váš jazyk}“, vyberete si některý z výsledků. Projdete si zdrojáky, usoudíte, že tohle by mohlo být to, co hledáte. Super. Zkusíte najít odkaz pro stažení, stáhnete to, zipku rozbalíte, otevřete složku s vaším projektem, překopírujete skripty do vašeho projektu mezi ostatní knihovny. Teď je procházíte a snažíte se přijít na to, jak je zahrnout do vlastního projektu. Narazíte na nějakou konstantu, přidáte do ní cestu k vlastnímu projektu, spustíte a … nefunguje. Fatal Error! Chvíli tu hlášku zkoumáte, pak se podíváte do zdrojáků, snažíte se přijít, jak to rozjet … nakonec usoudíte, že to nemá cenu a podíváte se po dalších knihovnách. Pokud budete mít štěstí, najdete něco, co funguje. Nebo ztratíte nervy a začnete to psát sami.
OK a co tohle? V příkazovém řádku:
- zadáte npm search xyz API a vyberete si, kterou knihovnu budete chtít,
- zadáte npm install {vybraná knihovna},
- v projektu v libovoném místě napíšete require({vybraná knihovna}).
Tak o tomhle bude dnešní screencast.
Nechcete-li sledovat video, pod screencastem najdete přepis. Pokud by vám nefungovaly příkazy node a npm, na konci článku najdete návod, jak je pro Windows zprovoznit.
- NPM je správce modulů, přes který si můžete instalovat nové balíčky do aplikace.
- Seznam všech dostupných modulů je možné nalézt na search.npmjs.org. Alternativně je možné použít Nipster!, kde lze řadit moduly třeba podle toho, jak jsou moduly sledovány uživateli na Github.com.
- Zkusme najít nějaký generátor náhodných čísel, zadáme tedy frázi “rand” a získáte několik knihoven, které umožňují náhodná čísla generovat.
- Velmi důležité je verzování, především první číslo. Pokud má balíček jako první číslo 0, znamená to, že ještě není doporučen k produkčnímu nasazení a jeho použití je na vlastní riziko.
- Balíčky lze instalovat přes příkazový řádek zadáním příkazu “npm install {jméno balíčku}”, např. “npm install mersenne” nainstaluje generátor náhodných čísel.
- Do projektu se pak přidá balíček přes require({jméno balíčku}).
var http = require('http');
var mersenne = require('mersenne');
http.createServer(function (req, res) {
res.end(mersenne.rand(6).toString());
}).listen(8000);
- Zbývá spustit skript přes node hello.js a otevřít v prohlížeči adresu http://localhost:8000.
- Chcete-li vyhledat nějaký balíček, můžete to udělat přímo přes příkazový řádek přes frázi „npm search {fráze}“, např. přes “npm search mvc” najdete všechny MVC frameworky.
- Podrobnější informace o balíčku lze získat přes příkaz „npm info {jméno balíčku}“, např. „npm info ejs“ zobrazí podrobné informace o šablonovacím systému EJS, dozvíte se jeho podrobnější popis, poslední verzi, kdo je autorem, balíčky, na kterých závisí vývoj (mocha je testovací framework) atd.
- Pokud chcete zobrazit dokumentaci k vybranému balíčku, zadáte příkaz „npm docs {jméno balíčku}“, např. „npm docs mersenne“. Předtím je ale potřeba nastavit výchozí prohlížeč, příkazem „npm config set browser firefox“ nastavíte výchozí prohlížeč Firefox. Ten se pak spouští přes příkaz “firefox URL”, takže je potřeba nastavit promměnou prostředí PATH pro daný prohlížeč.
- Přes příkaz „npm list“ je možné zobrazit seznam všech balíčků vč. jejich závislostí na jiných balíčcích.
- Pokud chcete zjistit, zda nevyšla již nová verze balíčku, zadáte příkaz „npm outdated“, jako volitelný třetí parametr je možné přidat název balíčku, který nás zajímá. Zkusme třeba zjistit, zda mám aktuální framework express: „npm outdated express“.
- Mnoho dalších užitečných příkazů pro práci s NPM najdete v dokumentaci, pokud jste instalovali node podle předchozího návodu, najdete dokumentaci v C:/Program Files/nodejs/node_modules/npm/html/doc/index.html.
Pokud by se náhodou stalo, že vám příkaz npm nebo node nefunguje, nastavte si v příkazovém řádku proměnnou PATH takto:
Pro node: SET PATH=C:\Program Files\Nodejs;%PATH%
Pro npm: SET PATH=C:\Program Files\Nodejs\node_modules\npm\;%PATH%