JavaScript >> Javascript-Tutorial >  >> Tags >> npm

Tipps zum Anpassen von npm init, um es zu Ihrem eigenen zu machen

Einführung in npm init

Stimmen Sie zu, es ist fast unmöglich, an die Entwicklung von Webanwendungen ohne die Unterstützung von npm zu denken (Node Package Manager) oder yarn ? Okay, ich übertreibe hier wahrscheinlich, aber die Wahrheit ist ziemlich nah dran. Jeden Tag verwenden Millionen von Webanwendungen npm oder Garn, um Projektabhängigkeiten zu erstellen und zu verwalten.

Als Webentwickler verwenden wir npm oder Garn, um mit einem Projekt zu beginnen. Die npm init oder yarn init Der Befehl hilft beim Einrichten eines neuen oder vorhandenen Pakets/Projekts. Die npm init Der Befehl stellt Ihnen eine Reihe von Fragen. Die von Ihnen bereitgestellten Antworten erstellen zusammen mit den Standardwerten eine bestimmte Datei mit dem Namen package.json . Es enthält alle Projektmetadaten und Abhängigkeitsinformationen.

Wenn Sie die Beantwortung der Fragen überspringen und mit den Standardwerten fortfahren möchten, können Sie den -y verwenden oder -yes Schalter wie in Abbildung 1 gezeigt ,

Warum anpassen?

Es gibt jedoch ein Problem. Möglicherweise mögen Sie die Standardwerte nicht. Es ist möglicherweise nicht relevant für Sie. Beispielsweise möchten Sie möglicherweise Ihren Namen, Ihre E-Mail-ID und Ihre URL als author angeben Wert des Schlüssels. Sie können MIT angeben als license Wert. Außerdem fühlen Sie sich vielleicht nicht so wohl dabei, all diese Werte jedes Mal einzugeben, wenn Sie ein Projekt starten.

Hier kommt die Möglichkeit, den npm init anzupassen Befehl. Sie können einige dieser Werte überschreiben, je nachdem, was für Sie und Ihr Projekt relevant ist. Lassen Sie es uns anpassen.

Passen Sie npm init an

Zuerst können Sie npm-Konfigurationswerte mit dem folgenden Befehl auflisten,

npm config ls -l

Es wird eine lange Liste von npm-Konfigurationswerten gedruckt. Dies sind Schlüssel-Wert-Paare. Bitte schauen Sie genau hin und fixieren Sie Ihre Augen auf die Tasten, die mit init- beginnen . Die Abbildung 2 unten zeigt die Standardwerte für init-author-email , init-author-name , init-author-url , und init-license .

Lassen Sie uns diese Werte überschreiben. Sie können den folgenden Befehl verwenden, um einen Schlüssel mit einem bestimmten Wert global zu überschreiben,

npm config set <Key> <Value> -g

Also, um den init-author-email einzustellen mit einer E-Mail-ID,

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

Lassen Sie uns auch den Namen, die URL und die Lizenz überschreiben.

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

Bitte geben Sie Ihren Namen, E-Mail-ID, URL und Lizenzinformationen an, wenn Sie es ausprobieren. Führen Sie nun npm config ls -l aus einmal mehr. Sie sollten diese Änderungen in der npm-Konfigurationswerteliste sehen können. Bitte überprüfen Sie den globalconfig Werte ganz oben in der Liste. Es sollte ähnlich aussehen wie in Abbildung 3 unten.

Auch wenn Sie nach unten scrollen und den init- sehen Werte, die wir geändert haben, sollten Sie als überschrieben markiert sehen. Ebenso können Sie auch die Werte von init-module anpassen und init-version .

Es gibt eine andere Möglichkeit, um zu überprüfen, ob Sie die Werte richtig eingestellt haben. Bitte verwenden Sie den npm config get <Key> Befehl. In unserem Fall beispielsweise npm config get init-author-url sollte den Wert https://tapasadhikary.com/ zurückgeben .

In Ordnung, lassen Sie uns npm init -y ausführen Erstellen Sie nun die Datei package.json. Bitte beachten Sie Abbildung 5 unter. Es geht darum, den package.json zu erstellen Datei mit den benutzerdefinierten Werten (Autor und Lizenz).

Lassen Sie uns sehen, wie npm init (ohne den -y switch) erzeugt den package.json Datei mit den benutzerdefinierten Werten.

Jedes Mal, wenn Sie ein Projekt mit npm init erstellen oder yarn init , müssen Sie keinen dieser Werte eingeben. Ist es nicht unglaublich? Ich hoffe, Sie beginnen mit der Anpassung des npm init sofort.

Moment mal, da steckt noch mehr dahinter:init-module

Wussten Sie, dass Sie Ihre Fragen als Teil des npm init hinzufügen können? Fragezeichen? Ja, Sie können Fragen Ihrer Wahl eingeben, eine Antwort darauf akzeptieren und sogar Maßnahmen ergreifen.

Suchen Sie dazu den Wert von init-module mit dem folgenden Befehl,

npm config get init-module

Es zeigt auf eine Datei namens .npm-init.js . Unter Windows-Betriebssystemen lautet der erwartete Dateipfad C:\Users\<User_Name>\.npm-init.js . Bitte überprüfen Sie, ob die Datei an diesem Ort vorhanden ist. Falls nicht, erstellen Sie bitte eine leere Datei mit dem Namen .npm-init.js an diesem Ort.

Kopieren Sie den folgenden Code in den .npm-init.js Datei und speichern Sie sie. Hier fragen wir alle Standardwerte ab, einschließlich angepasstem author und license . Bitte beachten Sie, dass wir eine neue Eingabeaufforderung für deploy hinzugefügt haben mit einem Standardwert Netlify . Der Bereitstellungsschlüssel wird nicht von npm config bereitgestellt standardmäßig. Wir haben es freiwillig hinzugefügt.

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'),
}

Okay, mach jetzt npm init . Sie werden aufgefordert, deploy einzugeben auch.

{
  "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"
}

Das ist nicht alles. Sie können auch zusätzliche Vorgänge basierend auf den Eingaben für die Eingabeaufforderungen ausführen. Ist das nicht cool? Hier ist ein Beispiel für die Protokollierung von deploy Wert,

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

Nun, es ist vielleicht kein besonders hilfreiches Beispiel. Aber wie wäre es, wenn Sie ein GitHub-Repository erstellen und die Dinge basierend auf der bereitgestellten GitHub-Repository-URL einrichten. Ja, das kannst du auch.

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;
})

Nun, das ist sehr nützlich. Anpassen von npm init basierend auf Ihren Anforderungen wird die Produktivität verbessern und Einheitlichkeit bei der Projekterstellung bringen. Ich hoffe, Sie fanden die Tipps hilfreich.

Ich hoffe, Ihnen hat dieser Artikel gefallen oder Sie fanden ihn hilfreich. Lassen Sie uns verbinden. Sie können mich auf Twitter(@tapasadhikary) finden, wo ich Gedanken, Tipps und Code-Praktiken teile. Bitte klicken Sie auf Abonnieren Schaltfläche oben auf der Seite, um eine E-Mail-Benachrichtigung über meine neuesten Beiträge zu erhalten.

Das könnte dir auch gefallen,

  • Erstellen, testen und veröffentlichen Sie Ihr NPM, ich habe es gerade in wenigen Minuten geschafft!
  • Das npm-Abhängigkeitshandbuch für Sie
  • Toolkit zum Veröffentlichen Ihrer React-Komponente im Node Package Manager (NPM)