NPM- Verwaltet Pakete , macht es aber nicht einfach , Pakete auszuführen .
NPX- Ein Tool zum Ausführen von Node-Paketen.
NPXkommt mit NPMVersion gebündelt5.2+
NPMan 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.jsonDatei 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%/npmWindows 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.jsonDatei bearbeiten und dieses Paket im folgenden scriptsAbschnitt 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:
npxprüft, ob <command>in $PATHoder 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 npxist die Möglichkeit, ein Paket auszuführen, das zuvor nicht installiert wurde:
$ npx create-react-app my-app
Das obige Beispiel generiert eine reactApp-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-appist ein Generator.npxgeht 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.