Ich habe gerade angefangen, React zu lernen, und Facebook hilft bei der Vereinfachung der Ersteinrichtung, indem es das folgende vorgefertigte Projekt bereitstellt .
Wenn ich das Skeleton-Projekt installieren muss, muss ich die npx create-react-app my-app
Befehlszeile eingeben.
Ich habe mich gefragt, warum das Facebook in Github npx create-react-app my-app
eher hat als npm create-react-app my-app
?
javascript
npm
npx
Paresh Maniyar
quelle
quelle
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.Antworten:
Einführung in npx: ein npm-Paketläufer
NPM
- Verwaltet Pakete , macht es aber nicht einfach , Pakete auszuführen .NPX
- Ein Tool zum Ausführen von Node-Paketen.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 Ihrerpackage.json
Datei angeben .Wenn ausführbare Dateien über NPM-Pakete installiert werden, verlinkt NPM auf diese:
./node_modules/.bin/
Verzeichnis "Links" erstellt .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:
Angenommen, NodeJS soll dieses Paket über die Befehlszeile ausführen:
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:
Sie können ein lokal installiertes Paket technisch ausführen, indem Sie Ihre
packages.json
Datei bearbeiten und dieses Paket im folgendenscripts
Abschnitt hinzufügen :Führen Sie dann das Skript mit
npm run-script
(odernpm run
) aus: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 eingebensome-package
:Ein weiterer großer Vorteil von
npx
ist die Möglichkeit, ein Paket auszuführen, das zuvor nicht installiert wurde: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:
quelle
node.js
, oder? Warum ist es über 'npm' (den Knotenpaket-Manager) verfügbar?./node_modules/.bin
Ihrem $ PATH hinzu und NPX wird nicht benötigt.npx ist ein npm- Paketläufer (x steht wahrscheinlich für eXecute). Die typische Verwendung besteht darin, ein Paket vorübergehend herunterzuladen und auszuführen oder es zu testen.
create-react-app ist ein npm-Paket, das voraussichtlich nur einmal im Lebenszyklus eines Projekts ausgeführt wird. Daher ist es bevorzugt, npx zu verwenden, um es in einem einzigen Schritt zu installieren und auszuführen.
Wie in der Manpage erwähnt https://www.npmjs.com/package/npx , npx können Befehle im Pfad laufen oder von node_modules / .bin standardmäßig.
Hinweis: Beim Graben können wir feststellen, dass create-react-app auf eine Javascript-Datei verweist (möglicherweise auf /usr/lib/node_modules/create-react-app/index.js auf Linux-Systemen), die in der Knotenumgebung ausgeführt wird . Dies ist einfach ein globales Tool, das einige Überprüfungen durchführt. Das eigentliche Setup erfolgt über React-Skripte, deren neueste Version im Projekt installiert ist. Weitere Informationen finden Sie unter https://github.com/facebook/create-react-app .
quelle
NPM ist ein Paketmanager. Sie können node.js-Pakete mit NPM installieren
NPX ist ein Tool zum Ausführen von node.js-Paketen.
Es spielt keine Rolle, ob Sie dieses Paket global oder lokal installiert haben. NPX wird es vorübergehend installieren und ausführen. NPM kann auch Pakete ausführen, wenn Sie eine package.json-Datei konfigurieren und in den Skriptabschnitt aufnehmen.
np M - Manager
np X - Ausführen - leicht zu merken
quelle
NPX:
Von https://www.futurehosting.com/blog/npx-makes-life-easier-for-node-developers-plus-node-vulnerability-news/ :
quelle
NPM can just install local versions
- nicht richtig.npm
kann global installiert werden und es ist eine gängige Praxis.npx
führt einen Befehl für ein Paket aus, ohne es explizit zu installieren.Anwendungsfälle:
Syntax:
Paket ist optional:
Zum Beispiel:
Mehr zu
command
:quelle
Einfache Definition:
npm - Javascript-Paketmanager
npx - Npm- Paket-Binärdateien ausführen
quelle
Hier ist ein Beispiel für NPX in Aktion: npx coway hallo
Wenn Sie das in Ihr Bash-Terminal eingeben, sehen Sie das Ergebnis. Dies hat den Vorteil, dass npx vorübergehend coway installiert hat. Es gibt keine Verpackungsverschmutzung, da Cowsay nicht dauerhaft installiert ist. Dies ist ideal für einmalige Pakete, bei denen Sie die Verschmutzung von Paketen vermeiden möchten.
Wie in anderen Antworten erwähnt, ist npx auch in Fällen sehr nützlich, in denen (mit npm) das Paket installiert und dann konfiguriert werden muss, bevor es ausgeführt wird. Anstatt npm zum Installieren und Konfigurieren der Datei json.package zu verwenden und dann den konfigurierten Befehl run aufzurufen, verwenden Sie stattdessen einfach npx. Ein echtes Beispiel: npx create-react-app my-app
quelle