závislosti vs. devD závislosti

Už jste se někdy ptali, jaký je rozdíl mezi těmito dvěma typy závislostí uvnitř vašeho balíčku.json? V tomto článku se pokusím na tuto otázku odpovědět jednoduchými slovy.

K čemu jsou závislí a k čemu se používají?

Pokud nejste vývojář z roku 2007 a instalujete rámce a knihovny libs pomocí správců balíčků, měli byste používat závislost, i když jste o nich nevěděli. Představte si, že jste vytvořili skvělý web pomocí Vue a nainstalovali jste jej s npm. A možná budete chtít, aby ostatní lidé viděli, jaký jste úžasný vývojář, a poslali jste svůj projekt do repozitáře github a samozřejmě jste přidali své node_modules do souboru .gitignore, protože jste chytrý vývojář. Pak jiní lidé zkopírují váš projekt do svých počítačů a zkusí ho spustit na místním počítači, ale oopppss, nic nefunguje ... To vše se děje kvůli použitému Vue, který byl nainstalován uvnitř našich uzlových modulů, které jste netlačili. Jediným řešením tohoto problému je jednoduše spustit instalační skript npm uvnitř složky projektu

A to je, když balíček.json vstoupí do hry. Tento příkaz přejde do vašeho balíčku.json a nainstaluje všechny rámce a libs uvedené ve vašich závislostech. Například v mém případě budou nainstalovány Vue a Vue-materiál + potřebné balíčky pro stabilní práci npm

Jak se ve vašem balíčku.json objeví závislosti?

Když instalujete nějaké lib pomocí npm, všechny potřebné informace se automaticky přidají do závislostí. Například, pojďme nainstalovat Vuex pomocí npm install vuex - save

Vuex a všechny další potřebné balíčky byly úspěšně přidány do vašich závislostí.

závislosti vs. devD závislosti

A teď je čas odpovědět na hlavní otázku tohoto článku, jaký je rozdíl mezi těmito dvěma typy závislostí?

devDependencies by měly obsahovat balíčky, které se používají během vývoje nebo které se používají k sestavení vašeho balíčku, například mocha, jscs, grunt-Contrib-watch, gulp-jade atd. Tyto balíčky jsou nespeccery pouze při vývoji projektu, také ESlint se používá ke kontrole všeho během vytváření balíčku. Nainstalujte tedy všechny tyto balíčky pomocí příznaku -dev, což řekne npm, heeey, potřebuji tento balíček pro vývoj, takže to automaticky přidá balíček do devDependencies namísto obvyklých závislostí.

Mimochodem, npm instaluje ve výchozím nastavení instalaci balíčků jak ze závislostí, tak z devDependencies. Neviděl jsem použití tohoto příznaku po celá léta, ale já vám to jen dám vědět, pro malé projekty to může fungovat npm install --production, --production flag říká npm, heey, chci, abyste nainstalovali balíčky pouze z obvyklých závislostí.

Závislosti by měly obsahovat libs a framewors, na kterých je vaše aplikace postavena, jako jsou Vue, React, Angular, Express, JQuery atd. Souhlasíte se mnou, pokud řeknu, že váš projekt nebude fungovat bez těchto balíčků (pokud je používáte) , samozřejmě).

Závěr

Souhrnně použijte parametr -dev, pokud instalujete balíčky, které budete používat během vývoje, a ne, pokud balíček, který instalujete, je pro produkci.

Děkuji za přečtení mého článku, tleskáním za tento příběh, který mi pomáhá rozvíjet svůj střední profil, číst mé další články o programování: