ng serve
sert un projet Angular via un serveur de développement
npm start
exécute une commande arbitraire spécifiée dans la propriété "start" du package de son objet "scripts". Si aucune propriété "start" n'est spécifiée sur l'objet "scripts", il exécutera le nœud server.js.
Il semble que ng serve
démarre le serveur intégré alors que npm start
démarre les serveurs Node.
Quelqu'un peut-il jeter un peu de lumière là-dessus?
angular
angular-cli
ishandutta2007
la source
la source
start
commande dans l'scripts
objet dans votrepackage.json
? Pourquoi pensez-vous qu'il y ait une différence?Réponses:
npm start
exécutera ce que vous avez défini pour lastart
commande de l'scripts
objet dans votrepackage.json
fichier.Donc, si cela ressemble à ceci:
Puis
npm start
courrang serve
.la source
node server.js
(ce qui échouera si ce fichier n'est pas là).npm start
est préférable d' utiliser . Pour l'utiliser,ng serve
vous devez installer angular cli globalement ou le référencer à partir du bin des modules de nœuds.Pour un projet qui utilise la CLI, vous utiliserez généralement ng serve. Dans d'autres cas, vous souhaiterez peut-être utiliser npm start. Voici l'explication détaillée:
ng servir
Servira un projet qui est « CLI angulaire conscient », à savoir un projet qui a été créé à l' aide de la CLI angulaire, en particulier en utilisant:
Donc, si vous avez échafaudé un projet à l'aide de la CLI, vous voudrez probablement utiliser ng serve
npm début
Cela peut être utilisé dans le cas d'un projet qui n'est pas compatible avec Angular CLI (ou il peut simplement être utilisé pour exécuter 'ng serve' pour un projet qui prend en charge Angular CLI)
Comme l'indiquent les autres réponses, il s'agit d'une commande npm qui exécutera la ou les commandes npm du package.json qui ont l'identificateur «start», et il ne suffit pas d'exécuter «ng serve». Il est possible d'avoir quelque chose comme ce qui suit dans le package.json:
Dans ce cas, 'npm start' entraînera l'exécution des commandes suivantes:
Cela exécutera simultanément le compilateur TypeScript (en surveillant les changements de code) et exécutera le serveur Node lite (dont les utilisateurs sont BrowserSync)
la source
À partir du document
npm-start :
Cela exécute une commande arbitraire spécifiée dans la propriété "start" du package de son objet "scripts". Si aucune propriété "start" n'est spécifiée sur l'objet "scripts", il exécutera le nœud server.js.
ce qui signifie qu'il appellera les scripts de démarrage à l'intérieur du package.json
ng servir :
Fourni par angular / angular-cli pour démarrer les applications angular2 créées par angular-cli. lorsque vous installez angular-cli, il créera ng.cmd sous
C:\Users\name\AppData\Roaming\npm
(pour Windows) et exécutera"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
Donc, en utilisant,
npm start
vous pouvez faire votre propre exécution oùng serve
est uniquement pour angular-cliVoir aussi: Que se passe-t-il lorsque vous exécutez ng serve?
la source
npm ERR! missing script: start
Il y a plus que ça. Les exécutables exécutés sont différents.
exécutera l'exécutable local de vos projets qui se trouve dans votre node_modules / .bin.
exécutera un autre exécutable global.
Cela signifie que si vous clonez et installez un projet Angular qui est créé avec angular-cli version 5 et que votre version globale de cli est 7, alors vous pouvez avoir des problèmes avec ng build.
la source
Si vous souhaitez exécuter une application angulaire portée à partir d'une autre machine sans
ng
commande, modifiez-lapackage.json
comme suitEnfin, exécutez la
npm start
commande habituelle pour démarrer le serveur de construction.la source