npm install podporuje místní balíčky a závislosti

Dnes jsem si přečetl článek Usnadnění práce s místními balíčky npm, který napsal Aaron Parrel, a naučil jsem se, jak rychle propojit moduly lokálních uzlů.

Aaron popisuje, že můžete zadat místní balíčky a moduly přímo ve vašem package.json .

{
  "dependencies": {
    "durable-functions": "file:../azure-functions-durable-js",
  }
}

Tento package.json příklad obsahuje durable-functions balík. Není však nainstalován z npm. durable-functions je lokální balíček, který má file: předpona již odhalena.

Kdy byste se spoléhali na místní balíčky?

Primárním případem použití místních balíčků je vývoj balíčků. Pokud pracujete na balíčku npm, který bude uvolněn v registru, potřebujete způsob, jak otestovat své změny, než zpřístupníte zdrojový kód světu.

A v ideálním případě chcete otestovat svůj nový kód v rámci projektu, který také používá váš projekt, který bude brzy vydán, jako závislost. To je okamžik, kdy potřebujete způsob, jak odkazovat na tento místní balíček z jiného projektu.

npm install podporuje místní adresáře a balíčky

Použití místních cest balíků a file: syntaxe působí intuitivně. Po přečtení více o tomto přístupu jsem zjistil, že npm install příkaz také podporuje místní balíčky. 😲

npm install ../some-local-package

Výše uvedené install příkaz přidá some-local-package na váš package.json závislosti uživatele. Definice lokálního balíčku pak bude obsahovat file: předpona. Navíc ve vašem node_modules vytvoří symbolický odkaz adresář ukazující na místní balíček. To ušetří spoustu práce a je to rychle hotové!

Poznámka:Pokud chcete nainstalovat místní balíček, definovaná cesta k balíčku musí obsahovat platný package.json – v opačném případě npm install selže.

Musím říct, že je docela užitečné, že npm nabízí tuto funkcionalitu pro vývoj místních balíčků a závislostí! Odstraňuje potřebu ručního vytváření symbolických odkazů, a abych byl upřímný, nikdy se mi nepodařilo vytvořit symbolický odkaz na první pokus. 🙈

Pokud chcete najít další tipy a triky pro Node.js, přejděte do sekce Node.js na mém blogu.