Verwendung und Szenarioanalyse des npx-Befehls in Node.js

Verwendung und Szenarioanalyse des npx-Befehls in Node.js

Tutorial zur Verwendung von NPX

Heute Abend, als ich Vue-Cli lernte, wollte ich plötzlich die neueste Version @4.xx ausprobieren, aber die lokal installierte Gerüstversion war @2.xx . Da ich die globale Umgebung nicht verschmutzen wollte, dachte ich daran, den Befehl npx zu verwenden. Dabei stieß ich auf viele Probleme. Um npx in Zukunft besser verwenden und seine Anweisungen von npm unterscheiden zu können, habe ich diese Notiz.

Ab Version 5.2 hat npm den Befehl npx hinzugefügt (wird mitgeliefert). Falls es nicht installiert ist, installieren Sie es bitte manuell:

npm ich -g npx

Das Konzept von npm und npx

  • NPM (Node Package Manager) ist ein von Node.js bereitgestellter Paketmanager. Sie können NPM verwenden, um Node.js-Pakete zu installieren.
  • NPX (Node Package Executed) kann als Tool zum temporären Installieren und Ausführen eines Pakets verstanden werden

Zusammenfassend:

  • npm konzentriert sich auf die Installation von Paketen
  • npx konzentriert sich auf die Ausführung von Paketen und ist eine spezielle Ausführung

Einsatzszenarien von npx (einige Vorteile gegenüber npm)

Ausgehend von mehreren Nutzungsszenarien hoffe ich, dass es ein Szenario gibt, das Ihrem aktuellen Szenario entspricht, sodass Sie es direkt anwenden können

Anwendungsszenario 1: Sie möchten ein bereits im Projekt installiertes Paket verwenden, können es aber nicht direkt ausführen (da es nicht global installiert ist und somit das Problem der Umgebungsvariablen besteht)

Für dieses Szenario gibt es einige dumme Methoden:

  • Gehen Sie in das Stammverzeichnis des Projekts und führen Sie node-modules/.bin/包對應的腳本
  • npm script konfigurieren: Fügen Sie方法1 zu den scripts in package.json hinzu, und führen Sie dann bei Bedarf „npm run custom instructions“ zur schnellen Ausführung aus. Dies ist im Wesentlichen nur eine Verbesserung gegenüber方法1

Eleganter geht das mit npx命令啦:

npx <Befehl, der dem Paket entspricht>

# Nehmen Sie als Beispiel die Less-Kompilierung:
npx lessc -v # Zeigt die Version des Less-Compilers im aktuellen Projekt an

Anwendungsszenario 2: Ein Paket wurde global installiert und im Projekt wurde eine andere Version eines Pakets installiert. Sie möchten die Version des Projekts verwenden

Wenn ich meinen Fehler heute Abend als zweites Nutzungsszenario betrachte, habe ich die Version @2.xx des Vue-Scaffoldings bereits global lokal installiert, aber ich Möchten Sie die neueste @4.xx Version verwenden und im lokalen Projektdateiverzeichnis installiert haben, das heißt:

# npm i -g vue-cli@2 wurde ausgeführt
vue -V # [email protected]
# cd my-project wurde bereits ausgeführt
npm ich -D @vue/cli@4
vue -V # [email protected]

Wenn Sie zu diesem Zeitpunkt vue -V werden Sie feststellen, dass die globale Version verwendet wird, da npm standardmäßig das globale Paket ausführt. Wenn Sie die Version verwenden möchten, die das Projekt bereits installiert hat, führen Sie einfach den folgenden Befehl aus:

npx <Befehl, der dem Paket entspricht>

# Nehmen Sie vue-cli als Beispiel:
npx vue erstelle mein Projekt

Anwendungsszenario 3: Sie möchten ein Paket nicht global oder in einem Projekt installieren, sondern nur vorübergehend verwenden.

Für dieses Szenario ist npx eine notwendige Wahl. npx lädt die Dateien in ein temporäres Verzeichnis herunter und löscht sie nach der Verwendung automatisch. Nehmen wir Vue-Cli als Beispiel: Diesmal wollte ich plötzlich einen Blick auf die Projektdateistruktur React腳手架werfen. Da ich es noch nicht gelernt habe, habe ich es weder lokal noch global installiert (ich möchte nur vorübergehend ein React-Projekt mit Gerüst erstellen).

npx create-react-app my-react-project #Das React-Gerüst wird nach dem Erstellen des Projekts automatisch gelöscht

Nutzungsszenario 4: Temporäre Nutzung einer bestimmten Version des Pakets (nicht lokal installiert)

Wie der Titel schon sagt, möchte ich hier plötzlich die Version @3.xx des Vue-Scaffoldings verwenden, habe aber die Version @2.xx bereits global installiert

cd my-vue-project # Geben Sie mein Vue-Projekt ein npx @vue/cli@3 create big-project # Verwenden Sie die 3.x-Version von Vue-CLI, um ein Projekt mit dem Namen „Big-Project“ zu erstellen

Einige Parameter zu npx

  1. Installieren und verwenden Sie eine bestimmte Version: npx 包@版本號包對應的命令
  2. --no-install erzwingt die Verwendung lokaler Pakete. Wenn das lokale Paket nicht installiert ist, wird ein Fehler gemeldet: npx --no-install vue create my-project
  3. --ignore-existing Erzwingt die Installation zur Verwendung von Remote-Modulen: npx --ignore-existing vue create my-project
  4. -p Um mehrere Pakete auf einmal zu installieren, verwenden Sie den Parameter -p : npx -p @vue/cli -p less Denken Sie daran: Verwenden Sie unbedingt -p, wenn Sie mehrere Pakete installieren
  5. -c Szenario, in dem mehrere Pakete gleichzeitig installiert und verwendet werden: Wenn Sie den Befehl npx -p vue-cli -p less lessc -v & vue -V in einer früheren Version ausführen, ist es möglich, dass nur das erste Befehlselement normal ausgeführt werden kann, d. h., es wird nur die Version des Less-Editors gedruckt. Der Parameter -c von npx weist npx an, den angegebenen Bereich aller Befehle auszuführen: npx -p vue-cli -p less -c "lessc -v & vue -V" , wodurch absolute Sicherheit gewährleistet werden kann. Hinweis: & bedeutet, dass beide Befehle ausgeführt werden, | bedeutet, dass der erste Befehl erfolgreich ausgeführt wird und der zweite Befehl nicht ausgeführt wird.

Der am häufigsten verwendete und wichtigste Punkt in diesem Abschnitt ist Punkt 5. Basierend auf dieser Zusammenfassung: Unabhängig davon, wie viele Pakete und Befehle installiert sind (auch wenn nur ein Paket installiert ist), befolgen Sie strikt npx -p 包1 -p 包2 -p 包n -c "命令1 & 命令2 & 命令n"

Damit ist dieser Artikel über die Verwendung und Szenarien des npx-Befehls in Node.js abgeschlossen. Weitere Informationen zur Verwendung des Node.js-npx-Befehls finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Node.js verwendet yargs zur Verarbeitung von Befehlszeilenparametern
  • Bringen Sie Ihnen bei, wie Sie mit nodejs CLI-Befehlszeilen schreiben
  • Tutorial zum Erstellen Ihres eigenen Befehlszeilentools mit Node
  • Detaillierte Erläuterung zur Verwendung von Node.js zum Schreiben von Befehlstools - am Beispiel von vue-cli
  • Node.js sucht mit Befehlszeilentools nach Updates
  • Verwenden Sie Log.io in Node.js, um Protokolle in Echtzeit im Browser zu überwachen (entspricht dem Befehl tail -f).
  • Anwendungsbeispiel für das Commander-Modul zur Verarbeitung von Befehlszeilenparametern von Nodejs

<<:  So konfigurieren Sie die Linux-Firewall und öffnen die Ports 80 und 3306

>>:  Detaillierte Erläuterung der MySQL-Zeilensperren beim Auftreten zusammengesetzter Primärschlüssel und mehrspaltiger Indizes

Artikel empfehlen

So implementieren Sie die JavaScript-Ausgabe der Fibonacci-Folge

Inhaltsverzeichnis Thema analysieren Basislösung ...

Einfache und schnelle Einführung in die React-Routing-Entwicklung

Installieren Geben Sie zur Installation den folge...

Zusammenfassung der gebräuchlichen Buchstaben in Unicode

Die meisten der ersten Computer konnten nur ASCII...

Detaillierte Erklärung der Zählung ohne Filterbedingungen in MySQL

zählen(*) erreichen 1. MyISAM: Speichert die Gesa...

Implementierung der Bereitstellung des Nginx+ModSecurity-Sicherheitsmoduls

Inhaltsverzeichnis 1. Herunterladen 2. Bereitstel...

HTML-Multimediaanwendung: Einfügen von Flash-Animationen und Musik in Webseiten

1. Anwendung von Multimedia in HTML_Flash-Animati...

Tutorial zur Installation von Nginx in einer Linux-Umgebung

Inhaltsverzeichnis 1. Installieren Sie die erford...

Detaillierte Erklärung des Skript-Debugging-Mechanismus in Bash

Ausführen des Skripts im Debugmodus Sie können da...

So handhaben Sie gleichzeitige Aktualisierungen von MySQL-Daten

Wird UPDATE gesperrt? Wird die SQL-Anweisung gesp...

Vue verwendet Monaco, um Codehervorhebung zu erreichen

Mithilfe der Vue-Sprache und Elementkomponenten m...