Respostas:
Na página do manual, npm start:
executa o script "start" de um pacote, se houver algum. Se nenhuma versão for especificada, ela inicia a versão "ativa".
É certo que essa descrição é completamente inútil, e é tudo o que diz. Pelo menos, é mais documentado que o socket.io.
De qualquer forma, o que realmente acontece é que o npm aparece no seu arquivo package.json e se você tem algo como
"scripts": {"start": "coffee server.coffee"}
então ele fará isso. Se o npm não conseguir encontrar o script inicial, o padrão será:
nó server.js
A documentação foi atualizada . Minha resposta tem alterações substanciais em relação à resposta aceita: queria refletir que a documentação está atualizada e a resposta aceita possui alguns links quebrados.
Além disso, não entendi quando a resposta aceita dizia "o padrão é node server.js". Eu acho que a documentação esclarece o comportamento padrão:
npm-start
Iniciar um pacote
Sinopse
npm start [-- <args>]Descrição
Isso executa um comando arbitrário especificado na
startpropriedade " " do pacote " " doscriptsobjeto . Se nenhumastartpropriedade " " for especificada noscriptsobjeto " ", ela será executadanode server.js.
Em resumo, a execução npm startpode fazer uma de duas coisas:
npm start {command_name}: Execute um comando arbitrário (ou seja, se esse comando for especificado na startpropriedade do scriptsobjeto package.json )npm start: Caso startcontrário, se nenhuma propriedade existir (ou nenhuma command_namefor aprovada): Run node server.js(que pode não ser apropriado , por exemplo, o OP não possui server.js; o OP é executado nodeapp.js)package.jsonno diretório em que você executa npm start, você poderá ver um erro:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'