Tipy pro přizpůsobení npm init tak, aby byl váš vlastní

Úvod do npm init

Souhlasíte, že je téměř nemožné uvažovat o vývoji webových aplikací bez podpory npm (správce balíčků uzlů) nebo yarn ? Dobře, tady asi přeháním, ale pravda se tomu trochu blíží. Každý den miliony webových aplikací používají npm nebo yarn k vytváření a správě závislostí projektu.

Jako weboví vývojáři využíváme npm nebo yarn, abychom mohli začít s projektem. npm init nebo yarn init příkaz pomáhá nastavit nový nebo existující balíček/projekt. npm init příkaz vám položí spoustu otázek. Vámi poskytnuté odpovědi spolu s výchozími hodnotami vytvoří konkrétní soubor s názvem package.json . Obsahuje všechna metadata projektu a informace o závislostech.

Pokud chcete přeskočit odpovědi na otázky a chcete použít výchozí hodnoty, můžete použít -y nebo -yes přepnout, jak je znázorněno na obrázku 1 ,

Proč přizpůsobit?

Je tu však problém. Výchozí hodnoty se vám nemusí líbit. Nemusí to být pro vás relevantní. Můžete například chtít uvést své jméno, e-mailovou adresu a adresu URL jako author hodnotu klíče. Možná budete chtít poskytnout MIT jako license hodnota. Také se možná nebudete cítit tak dobře při psaní všech těchto hodnot pokaždé, když zahájíte projekt.

Zde přichází příležitost upravit npm init příkaz. Některé z těchto hodnot můžete přepsat v závislosti na tom, co je pro vás a váš projekt relevantní. Pojďme si to přizpůsobit.

Přizpůsobit npm init

Nejprve můžete vypsat konfigurační hodnoty npm pomocí následujícího příkazu

npm config ls -l

Vytiskne dlouhý seznam konfiguračních hodnot npm. Jedná se o páry klíč–hodnota. Podívejte se prosím pozorně a upřete svůj zrak na klávesy, které začínají init- . Obrázek 2 níže ukazuje výchozí hodnoty pro init-author-email , init-author-name , init-author-url a init-license .

Pojďme tyto hodnoty přepsat. Pomocí následujícího příkazu můžete globálně přepsat klíč konkrétní hodnotou

npm config set <Key> <Value> -g

Chcete-li tedy nastavit init-author-email s ID e-mailu,

npm config set init-author-email "[email protected]" -g

Podobně přepíšeme název, adresu URL a licenci.

npm config set init-author-name "Tapas Adhikary" -g
npm config set init-author-url "https://tapasadhikary.com" -g
npm config set init-license "MIT" -g

Při vyzkoušení uveďte své jméno, e-mailovou adresu, adresu URL a licenční informace. Nyní spusťte npm config ls -l ještě jednou. Tyto změny byste měli vidět odrážející se v seznamu hodnot konfigurace npm. Zkontrolujte prosím globalconfig hodnoty v horní části seznamu. Měl by být podobný Obrázku 3 níže.

Také, když se posunete dolů a uvidíte init- hodnoty, které jsme změnili, měli byste je vidět označené jako přepsané. Podobně můžete také upravit hodnoty init-module a init-version .

Existuje další způsob, jak ověřit, zda jste nastavili hodnoty správně. Použijte prosím npm config get <Key> příkaz. Například v našem případě npm config get init-author-url by měl vrátit hodnotu https://tapasadhikary.com/ .

Dobře, spustíme npm init -y nyní vytvořte soubor package.json. Všimněte si prosím obrázku 5 níže. Jde o vytvoření package.json soubor s přizpůsobenými hodnotami (autor a licence).

Podívejme se, jak npm init (bez -y switch) vytvoří package.json soubor s přizpůsobenými hodnotami.

Pokaždé, když vytvoříte projekt pomocí npm init nebo yarn init , nemusíte zadávat žádnou z těchto hodnot. Není to neuvěřitelné? Doufám, že začnete přizpůsobovat npm init hned.

Počkejte, je toho víc:init-module

Věděli jste, že své otázky můžete přidávat jako součást npm init otázky? Ano, můžete se ptát na jakékoli otázky podle svého výběru, přijmout na ně odpověď a dokonce i podniknout akci.

Chcete-li to provést, najděte hodnotu init-module pomocí následujícího příkazu,

npm config get init-module

Bude ukazovat na soubor s názvem .npm-init.js . V operačním systému Windows je očekávaná cesta k souboru C:\Users\<User_Name>\.npm-init.js . Zkontrolujte, zda soubor v daném umístění existuje. Pokud ne, vytvořte prosím jeden prázdný soubor s názvem .npm-init.js na tomto místě.

Zkopírujte následující kód do .npm-init.js soubor a uložte jej. Zde se zobrazí výzva ke všem výchozím hodnotám, včetně přizpůsobených author a license . Upozorňujeme, že jsme přidali novou výzvu pro deploy s výchozí hodnotou Netlify . Klíč nasazení není součástí npm config ve výchozím stavu. Přidali jsme jej podle vlastního uvážení.

module.exports = {
  name: prompt('package name', basename || package.name),
  version: prompt('version', '1.0.0'),
  decription: prompt('description', ''),
  main: prompt('entry point', 'index.js'),
  keywords: prompt(function (s) { return s.split(/\s+/) }),
  author: prompt('author', 'Tapas Adhikary <[email protected]> (https://tapasadhikary.com)'),
  license: prompt('license', 'MIT'),
  repository: prompt('github repository url', ''),
  deploy: prompt('Where to deploy?', 'Netlify'),
}

Dobře, teď proveďte npm init . Zobrazí se výzva k zadání deploy také.

{
  "name": "customize-npm-init",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "keywords": [],
  "author": "Tapas Adhikary <[email protected]> (https://tapasadhikary.com)",
  "license": "MIT",
  "deploy": "Netlify"
}

To není vše. Můžete také provádět další operace na základě vstupu poskytnutého pro výzvy. Není to tak skvělé? Zde je příklad protokolování deploy hodnotu,

deploy: prompt('Where to deploy?', 'Netlify', function (input) {
      if (input) {
        console.log(`You have selected ${input}`)
      }
      return input;
})

No, nemusí to být moc užitečný příklad. Ale co takhle vytvořit úložiště GitHub a nastavit věci na základě poskytnuté adresy URL úložiště GitHub. Ano, můžete to udělat také.

repository: prompt('github repository url', '', function (url) {
  if (url) {
     // Execute commands to initialize a GitHub
    // repository with initial Readme.md file and
   // push it.
  }
  return url;
})

To je velmi užitečné. Přizpůsobení npm init na základě vašich potřeb zvýší produktivitu a přinese jednotnost při tvorbě projektů. Doufám, že vám tipy pomohly.

Doufám, že se vám tento článek líbil nebo vám pomohl. Pojďme se spojit. Najdete mě na Twitteru (@tapasadhikary), kde sdílím myšlenky, tipy a praktiky kódování. Klikněte prosím na Přihlásit se k odběru tlačítko v horní části stránky, abyste dostali e-mailové upozornění na mé nejnovější příspěvky.

Také by se vám mohlo líbit,

  • Sestavte, otestujte a publikujte své NPM, udělal jsem to za pár minut!
  • Příručka závislostí npm pro vás
  • Sada nástrojů pro publikování vaší React Component do Node Package Manager (NPM)