NPM
- Verwaltet Pakete , macht es aber nicht einfach , Pakete auszuführen .
NPX
- Ein Tool zum Ausführen von Node-Paketen.
NPX
kommt mit NPM
Version gebündelt5.2+
NPM
an sich führt nicht einfach irgendein Paket aus. Tatsächlich wird kein Paket ausgeführt. Wenn Sie ein Paket mit NPM ausführen möchten, müssen Sie dieses Paket in Ihrer package.json
Datei angeben .
Wenn ausführbare Dateien über NPM-Pakete installiert werden, verlinkt NPM auf diese:
- Bei lokalen Installationen werden im
./node_modules/.bin/
Verzeichnis "Links" erstellt .
- Bei globalen Installationen werden "Links" aus dem globalen
bin/
Verzeichnis (z. B. /usr/local/bin
) unter Linux oder unter %AppData%/npm
Windows erstellt.
Dokumentation, die Sie lesen sollten
NPM:
Man könnte ein Paket lokal in einem bestimmten Projekt installieren:
npm install some-package
Angenommen, NodeJS soll dieses Paket über die Befehlszeile ausführen:
$ some-package
Das obige wird fehlschlagen . Nur global installierte Pakete können ausgeführt werden, indem nur ihr Name eingegeben wird .
Um dies zu beheben und ausführen zu lassen, müssen Sie den lokalen Pfad eingeben:
$ ./node_modules/.bin/some-package
Sie können ein lokal installiertes Paket technisch ausführen, indem Sie Ihre packages.json
Datei bearbeiten und dieses Paket im folgenden scripts
Abschnitt hinzufügen :
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Führen Sie dann das Skript mit npm run-script
(oder npm run
) aus:
npm run some-package
NPX:
npx
prüft, ob <command>
in $PATH
oder in den lokalen Projekt-Binärdateien vorhanden ist, und führt sie aus. Wenn Sie im obigen Beispiel das lokal installierte Paket ausführen möchten, müssen Sie lediglich Folgendes eingeben some-package
:
npx some-package
Ein weiterer großer Vorteil von npx
ist die Möglichkeit, ein Paket auszuführen, das zuvor nicht installiert wurde:
$ npx create-react-app my-app
Das obige Beispiel generiert eine react
App-Boilerplate innerhalb des Pfads, in dem der Befehl ausgeführt wurde, und stellt sicher, dass Sie immer die neueste Version eines Generators oder Build-Tools verwenden, ohne jedes Mal ein Upgrade durchführen zu müssen, wenn Sie es verwenden möchten.
Verwandte Fragen:
- Wie verwende ich ein lokal in node_modules installiertes Paket?
- NPM: Wie wird der Ordner ./node_modules/.bin bezogen?
- Wie führe ich eine js-Datei mit npm-Skripten aus?
create-react-app
ist ein Generator.npx
geht ins Internet und lädt das Paket vorübergehend herunter, damit es ausgeführt werden kann ( np x ). Was Sie erhalten (und wollen), ist die Ausgabe, die lokal gespeichert wird, wo Sie den Befehl ausgeführt haben.