Ich habe mit einem React-Projekt gearbeitet create-react-app
und habe zwei Möglichkeiten, um das Projekt zu starten:
Erster Weg:
npm run start
mit der Definition package.json
wie folgt:
"start": "react-scripts start",
Zweiter Weg:
und npm start
Was ist der Unterschied zwischen diesen beiden Befehlen? Und was ist der Zweck des react-scripts start
?
Ich habe versucht, die Definition zu finden, aber ich habe gerade ein Paket mit dem Namen gefunden, und ich weiß immer noch nicht, was die Bedeutung dieses Befehls ist.
npm
Sie Skripte wie dieses ausführennpm run scriptName
,npm start
ist auch einenpm run start
react-scripts start
ist der richtige Befehl, um die React-App im Entwicklungsmodus auszuführen. Dieser Befehl ist in package.json gespeichert, sodass Sie ihn nicht auswendig lernen müssen undnpm run start
stattdessen einfach das Übliche eingeben können .npm start
ist eine Abkürzung für Letzteres.Antworten:
Create-React-App und React-Skripte
react-scripts
ist eine Reihe von Skripten aus demcreate-react-app
Starter Pack. Mit der Create-React-App können Sie Projekte starten, ohne sie konfigurieren zu müssen, sodass Sie Ihr Projekt nicht selbst einrichten müssen.react-scripts start
Richtet die Entwicklungsumgebung ein und startet einen Server sowie das Neuladen von Hot-Modulen. Sie können hier lesen , um zu sehen, was alles für Sie bedeutet.Mit der Create-React-App haben Sie sofort folgende Funktionen.
npm-Skripte
npm start
ist eine Abkürzung fürnpm run start
.npm run
wird verwendet, um Skripte auszuführen, die Sie imscripts
Objekt Ihrer package.json definierenWenn
start
das Skriptobjekt keinen Schlüssel enthält, wird standardmäßig der Schlüssel verwendetnode server.js
Manchmal möchten Sie mehr tun, als Ihnen die Reaktionsskripte bieten. In diesem Fall können Sie dies tun
react-scripts eject
. Dadurch wird Ihr Projekt von einem "verwalteten" Status in einen nicht verwalteten Status umgewandelt, in dem Sie die volle Kontrolle über Abhängigkeiten, Build-Skripte und andere Konfigurationen haben.quelle
npm run build
. Dadurch wird ein Build-Ordner erstellt. Diesen Ordner können Sie dann bedienen. zBnpm install -g serve
und dannserve -s build
facebook.github.io/create-react-app/docs/deploymentWie Sagiv bg betonte, ist der
npm start
Befehl eine Abkürzung fürnpm run start
. Ich wollte nur ein reales Beispiel hinzufügen , um es ein bisschen mehr zu verdeutlichen.Das folgende Setup stammt aus dem
create-react-app
Github-Repo. Daspackage.json
definiert eine Reihe von Skripten, die den tatsächlichen Ablauf definieren.Aus Gründen der Übersichtlichkeit habe ich ein Diagramm hinzugefügt.
Die blauen Kästchen verweisen auf Skripte, die Sie alle direkt mit einem
npm run <script-name>
Befehl ausführen können. Aber wie Sie sehen können, gibt es tatsächlich nur zwei praktische Abläufe:npm run start
npm run build
Die grauen Kästchen sind Befehle, die über die Befehlszeile ausgeführt werden können.
Zum Beispiel, wenn Sie das ausführen
npm start
(odernpm run start
), das tatsächlich in dennpm-run-all -p watch-css start-js
Befehl übersetzt wird, der über die Befehlszeile ausgeführt wird.In meinem Fall habe ich diesen speziellen
npm-run-all
Befehl, ein beliebtes Plugin, das nach Skripten sucht, die mit "build:" beginnen, und alle diese ausführt. Ich habe eigentlich keine, die diesem Muster entsprechen. Es kann aber auch verwendet werden, um mehrere Befehle parallel auszuführen, was hier über den-p <command1> <command2>
Schalter der Fall ist . Hier werden also 2 Skripte ausgeführt, dhwatch-css
undstart-js
. (Diese zuletzt genannten Skripte sind Beobachter, die Dateiänderungen überwachen und erst beendet werden, wenn sie beendet werden.)Das
watch-css
stellt sicher, dass die*.scss
Dateien in*.css
Dateien übersetzt werden, und sucht nach zukünftigen Updates.Die
start-js
Punkte, aufreact-scripts start
denen die Website in einem Entwicklungsmodus gehostet wird.Abschließend ist der
npm start
Befehl konfigurierbar. Wenn Sie wissen möchten, was es tut, müssen Sie diepackage.json
Datei überprüfen . (und Sie möchten vielleicht ein kleines Diagramm erstellen, wenn die Dinge kompliziert werden).quelle
„Start“ ist ein Name eines Skripts, in npm Sie Skripts wie folgt ausführen
npm run scriptName
,npm start
ist auch eine Abkürzung fürnpm run start
Bei "React-Skripten" handelt es sich um ein Skript, das sich speziell auf die Create-React-App bezieht
quelle