启动应用程序时`npm start`和`app.js`之间的区别?

我已经使用命令express new 'filename'安装了一个应用程序。 我刚刚了解到,您可以使用以下方式启动应用程序:

 npm start 

到目前为止我已经使用了:

 node app.js 

启动我的服务器。 任何人都知道两者有什么不同? 谢谢。

从手册页 ,npm开始:

运行一个包的“开始”脚本,如果提供的话。 如果没有指定版本,则启动“活动”版本。

诚然,这种描述是完全没有帮助的,就是这么说的。 至less它比socket.io更有logging。

无论如何,真正发生的是npm在你的package.json文件中,如果你有类似的东西

“scripts”:{“start”:“coffee server.coffee”}

那么它会做到这一点。 如果npm找不到你的启动脚本,它默认为:

节点server.js

文档已更新 。 我的答案与接受的答案没有什么不同,但我想反映文档是最新的,并且接受的答案有一些断开的链接,而且我不明白“它默认为node server.js ”。 我认为文件现在非常清楚:

NPM启动

开始一个包

概要

npm start [-- <args>]

描述

这将运行包的“ scripts ”对象的“ start ”属性中指定的任意命令。 如果在“ scripts ”对象上没有指定“ start ”属性, 它将运行node server.js