Risposte:
Dalla pagina man , inizia npm:
esegue uno script "start" di un pacchetto, se ne è stato fornito uno. Se non viene specificata alcuna versione, avvia la versione "attiva".
Certo, quella descrizione è del tutto inutile, e questo è tutto ciò che dice. Almeno è più documentato di socket.io.
Ad ogni modo, quello che succede davvero è che npm appare nel tuo file package.json e se hai qualcosa del genere
"scripts": {"start": "coffee server.coffee"}
allora lo farà. Se npm non riesce a trovare lo script iniziale, per impostazione predefinita è:
nodo server.js
La documentazione è stata aggiornata . La mia risposta presenta cambiamenti sostanziali rispetto alla risposta accettata: volevo riflettere che la documentazione è aggiornata e la risposta accettata presenta alcuni collegamenti interrotti.
Inoltre, non ho capito quando la risposta accettata diceva "per impostazione predefinita node server.js". Penso che la documentazione chiarisca il comportamento predefinito:
NPM-start
Inizia un pacchetto
Sinossi
npm start [-- <args>]Descrizione
Questo esegue un comando arbitrario specificato nella "
start" proprietà del pacchetto "scripts" dell'oggetto . Se nonstartviene specificata alcuna proprietà "scripts" sull'oggetto " ", verrà eseguitanode server.js.
In breve, la corsa npm startpotrebbe fare una delle due cose:
npm start {command_name}: Esegue un comando arbitrario (ovvero se tale comando è specificato nella startproprietà scriptsdell'oggetto package.json )npm start: Altrimenti se non startesiste alcuna proprietà (o non command_nameviene passata): Esegui node server.js, (che potrebbe non essere appropriato , ad esempio l'OP non ha server.js; l'OP viene eseguito nodeapp.js)package.jsonnella directory in cui si esegue npm start, è possibile che venga visualizzato un errore:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'