Come ha sottolineato Sagiv bg, il npm startcomando è una scorciatoia per npm run start. Volevo solo aggiungere un esempio di vita reale per chiarire un po 'di più.
L'impostazione seguente proviene dal create-react-apprepository github. La package.jsondefinisce un insieme di script che definiscono il flusso effettivo.
"scripts": {
"start": "npm-run-all -p watch-css start-js",
"build": "npm run build-css && react-scripts build",
"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
"start-js": "react-scripts start"
},
Per chiarezza, ho aggiunto un diagramma.

Le caselle blu sono riferimenti a script, che è possibile eseguire direttamente con un npm run <script-name>comando. Ma come puoi vedere, in realtà ci sono solo 2 flussi pratici:
npm run start
npm run build
Le caselle grigie sono comandi che possono essere eseguiti dalla riga di comando.
Quindi, ad esempio, se si esegue npm start(o npm run start) che si traduce effettivamente nel npm-run-all -p watch-css start-jscomando, che viene eseguito dalla riga di comando.
Nel mio caso, ho questo npm-run-allcomando speciale , che è un plugin popolare che cerca script che iniziano con "build:" ed esegue tutti quelli. In realtà non ne ho nessuno che corrisponda a quel modello. Ma può anche essere usato per eseguire più comandi in parallelo, cosa che fa qui, usando l' -p <command1> <command2>opzione. Quindi, qui esegue 2 script, ovvero watch-csse start-js. (Questi ultimi script citati sono osservatori che monitorano le modifiche ai file e finiranno solo quando vengono uccisi.)
In conclusione, il npm startcomando è configurabile. Se vuoi sapere cosa fa, devi controllare il package.jsonfile. (e potresti voler fare un piccolo diagramma quando le cose si complicano).
npmcui esegui script come questonpm run scriptName,npm startè anche l'abbreviazione dinpm run start