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 nonstart
viene specificata alcuna proprietà "scripts
" sull'oggetto " ", verrà eseguitanode server.js
.
In breve, la corsa npm start
potrebbe fare una delle due cose:
npm start {command_name}
: Esegue un comando arbitrario (ovvero se tale comando è specificato nella start
proprietà scripts
dell'oggetto package.json )npm start
: Altrimenti se non start
esiste alcuna proprietà (o non command_name
viene passata): Esegui node server.js
, (che potrebbe non essere appropriato , ad esempio l'OP non ha server.js
; l'OP viene eseguito node
app.js
)package.json
nella 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'