ng serve
bedient ein Angular-Projekt über einen Entwicklungsserver
npm start
führt einen beliebigen Befehl aus, der in der Eigenschaft "start" des Pakets des Objekts "scripts" angegeben ist. Wenn für das Objekt "scripts" keine "start" -Eigenschaft angegeben ist, wird der Knoten server.js ausgeführt.
Es scheint, als würde ng serve
der eingebettete Server gestartet, während npm start
die Knotenserver gestartet werden.
Kann jemand etwas Licht darauf werfen?
angular
angular-cli
ishandutta2007
quelle
quelle
start
Befehlscripts
in Ihrem Objektpackage.json
bewirkt? Warum denkst du, gibt es überhaupt einen Unterschied?Antworten:
npm start
führt alles aus, was Sie für das definiert habenstart
Befehl desscripts
Objekts in Ihrerpackage.json
Datei definiert haben.Also, wenn es so aussieht:
Dann
npm start
wird laufenng serve
.quelle
node server.js
(was fehlschlägt, wenn diese Datei nicht vorhanden ist).npm start
ist besser. Um es verwenden zu könnenng serve
, müssen Sie Angular Cli global installieren oder aus dem Knotenmodul-Bin referenzieren.Für ein Projekt, das die CLI verwendet, verwenden Sie normalerweise ng serve. In anderen Fällen möchten Sie möglicherweise npm start verwenden. Hier die ausführliche Erklärung:
ng dienen
Werde ein Projekt dienen , das ist ‚Angular CLI bewusst‘, das heißt ein Projekt , das den Winkel CLI erstellt wurde unter Verwendung, insbesondere unter Verwendung von :
Wenn Sie also ein Projekt mithilfe der CLI erstellt haben, möchten Sie wahrscheinlich ng serve verwenden
npm starten
Dies kann im Fall eines Projektes verwendet werden, ist nicht Angular CLI bewusst (oder es kann einfach verwendet werden , laufen ‚ng dienen‘ für ein Projekt , das Eckige CLI bewusst ist)
Wie in den anderen Antworten angegeben, handelt es sich um einen npm-Befehl, der die npm-Befehle aus der package.json mit der Kennung 'start' ausführt und nicht nur 'ng serve' ausführen muss. Es ist möglich, dass in package.json Folgendes enthalten ist:
In diesem Fall führt 'npm start' dazu, dass die folgenden Befehle ausgeführt werden:
Dadurch wird gleichzeitig der TypeScript-Compiler ausgeführt (auf Codeänderungen achten) und der Node Lite-Server (der Benutzer BrowserSync verwendet).
quelle
Aus dem Dokument
npm-start :
Dadurch wird ein beliebiger Befehl ausgeführt, der in der Eigenschaft "start" des Pakets des Objekts "scripts" angegeben ist. Wenn für das Objekt "scripts" keine "start" -Eigenschaft angegeben ist, wird der Knoten server.js ausgeführt.
Dies bedeutet, dass die Startskripte in package.json aufgerufen werden
ng dienen :
Wird von angle / angle-cli bereitgestellt, um Angular2-Apps zu starten, die von Angular-Cli erstellt wurden. Wenn Sie angle-cli installieren, wird ng.cmd unter
C:\Users\name\AppData\Roaming\npm
(für Windows) erstellt und ausgeführt"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
Mit können
npm start
Sie also Ihre eigene Ausführung vornehmen, wo diesng serve
nur für Angular-Cli istSiehe auch: Was passiert, wenn Sie ng serve ausführen?
quelle
npm ERR! missing script: start
Es gibt mehr als das. Die ausgeführten ausführbaren Dateien sind unterschiedlich.
führt die lokale ausführbare Datei Ihres Projekts aus, die sich in Ihren node_modules / .bin befindet.
führt eine andere ausführbare Datei aus, die global ist.
Wenn Sie ein Angular-Projekt klonen und installieren, das mit Angular-Cli Version 5 erstellt wurde und Ihre globale Cli-Version 7 ist, können Probleme mit ng Build auftreten.
quelle
Wenn Sie eine Winkel-App ausführen möchten, die ohne
ng
Befehl von einem anderen Computer portiert wurde, bearbeiten Sie siepackage.json
wie folgtFühren Sie schließlich den üblichen
npm start
Befehl aus, um den Build-Server zu starten.quelle