npm install Installiert die Abhängigkeiten in Ihrer package.json-Konfiguration.
npm run build führt das Skript "build" aus und erstellt ein Skript, mit dem Ihre Anwendung ausgeführt wird - sagen wir server.js
npm start führt das Skript "start" aus, das dann "node server.js" lautet.
Es ist schwierig, genau zu sagen, was das Problem war, aber wenn Sie sich Ihre Skriptkonfiguration ansehen, würde ich vermuten, dass "build" eine Art Build-Tool verwendet, um Ihre Anwendung zu erstellen, während "start" davon ausgeht, dass der Build abgeschlossen wurde, aber dann fehlschlägt, wenn Die Datei ist nicht da.
Sie verwenden wahrscheinlich Bower oder Grunt - ich erinnere mich an eine typische Grunt-Anwendung, die diese Skripte sowie ein "sauberes" Skript zum Löschen des letzten Builds definiert hat.
Build-Tools erstellen in der Regel eine Datei in einem bin /, dist / oder build / -Ordner, die das Startskript dann aufruft - z. B. "node build / server.js". Wenn Sie npm startausfallen, liegt es wahrscheinlich daran, dass Sie angerufen habennpm clean den neuesten Build oder ähnlich gelöscht haben, sodass Ihre Anwendungsdatei nicht vorhanden ist und der Start von npm fehlschlägt.
Der Quellcode von npm build - um auf die Diskussion in dieser Frage einzugehen - ist in Github, damit Sie ihn sich ansehen können, wenn Sie möchten. Wenn Sie npm builddirekt ausführen und ein "Build" -Skript definiert haben, wird es mit einem Fehler beendet, der Sie auffordert, Ihr Build-Skript als aufzurufennpm run-script build so dass es nicht dasselbe ist wie npm run script.
Ich bin mir nicht ganz sicher, was das npm buildbedeutet, aber es scheint mit Nachinstallations- und Paketskripten in Abhängigkeiten zu tun zu haben. Ich gehe davon aus, dass dies möglicherweise sicherstellt, dass alle CLI-Erstellungsskripte oder nativen Bibliotheken, die für Abhängigkeiten erforderlich sind, nach dem Herunterladen des Pakets für die jeweilige Umgebung erstellt werden. Aus diesem Grund rufen Link und Installation dieses Skript auf.