回答:
マニュアルページから、npm start:
提供されている場合は、パッケージの「開始」スクリプトを実行します。バージョンが指定されていない場合は、「アクティブ」バージョンを開始します。
確かに、その説明はまったく役に立たないので、それだけです。少なくとも、socket.ioよりも文書化されています。
とにかく、実際に何が起こるかというと、npmはpackage.jsonファイルを調べ、
"scripts":{"start": "coffee server.coffee"}
その後、それを行います。npmが開始スクリプトを見つけられない場合、デフォルトで次のようになります。
ノードserver.js
ドキュメントが更新されています。私の回答には、承認済みの回答と比較して大幅な変更があります。ドキュメントが最新であることを反映したかったので、承認済みの回答にはいくつかのリンク切れがあります。
また、受け入れられた回答がいつ「デフォルト」になっているのか理解できませんでしたnode server.js
。ドキュメントはデフォルトの動作を明確にしていると思います:
npm-start
パッケージを開始する
あらすじ
npm start [-- <args>]
説明
これにより、パッケージの
start
「scripts
」オブジェクトの「」プロパティで指定された任意のコマンドが実行されます。start
「scripts
」オブジェクトに「」プロパティが指定されていない場合は、実行されますnode server.js
。
要約すると、実行npm start
すると次の2つのいずれかが行われます。
npm start {command_name}
:任意のコマンドを実行します(つまり、そのようなコマンドがstart
package.jsonのscripts
オブジェクトのプロパティで指定されている場合)npm start
:start
プロパティが存在しない場合(またはcommand_name
渡されない場合)以外の場合:実行node server.js
(適切ではない可能性がありますserver.js
。たとえば、OPにない; OPが実行されますnode
app.js
)package.json
、を実行するディレクトリにがない場合npm start
、エラーが表示されることがあります。npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'