Respuestas:
Desde la página del manual, npm start:
ejecuta el script de "inicio" de un paquete, si se proporcionó uno. Si no se especifica ninguna versión, entonces inicia la versión "activa".
Es cierto que esa descripción es completamente inútil, y eso es todo lo que dice. Al menos está más documentado que socket.io.
De todos modos, lo que realmente sucede es que npm se ve en su archivo package.json , y si tiene algo como
"scripts": {"start": "coffee server.coffee"}
entonces lo hará. Si npm no puede encontrar su script de inicio, su valor predeterminado es:
nodo server.js
La documentación ha sido actualizada . Mi respuesta tiene cambios sustanciales frente a la respuesta aceptada: quería reflejar que la documentación está actualizada y la respuesta aceptada tiene algunos enlaces rotos.
Además, no entendí cuando la respuesta aceptada decía "por defecto node server.js". Creo que la documentación aclara el comportamiento predeterminado:
npm-start
Comience un paquete
Sinopsis
npm start [-- <args>]Descripción
Esto ejecuta un comando arbitrario especificado en la "
start" propiedad del paquete de su "scripts" objeto del paquete . Si nostartse especifica ninguna propiedad "scripts" en el objeto " ", se ejecutaránode server.js.
En resumen, correr npm startpodría hacer una de dos cosas:
npm start {command_name}: Ejecute un comando arbitrario (es decir, si dicho comando se especifica en la startpropiedad del scriptsobjeto package.json )npm start: De lo contrario, si no startexiste ninguna propiedad (o no command_namese pasa ninguna ): Ejecutar node server.js, (lo que puede no ser apropiado , por ejemplo, el OP no tiene server.js; el OP se ejecuta nodeapp.js)package.jsondirectorio en el que ejecute npm start, puede ver un error:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'