NPM start`&`节点app.js`之间的差异',开始应用程序时?(Differenc

2019-06-26 15:00发布

我已经安装使用命令的应用程序express new 'filename' 。 我刚刚得知你可以使用启动应用程序:

npm start

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

node app.js

开始我的服务器。 任何人都知道有什么区别两者之间? 谢谢。

Answer 1:

从手册页 ,故宫开始:

运行包的“开始”的剧本,如果提供了依据。 如果未指定版本,然后开始“活动”版本。

诚然,这样的描述是完全无用的,而这一切,它说。 至少它比socket.io多有记载。

总之,真正的情况是,NPM看起来你的package.json文件,如果你碰到这样的

“脚本”:{ “开始”: “咖啡server.coffee”}

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

节点server.js

 



Answer 2:

该文档已被更新 。 我的回答有实质性的改变VS接受的答案:我想反映文档先进的日期,接受的答案有几个断开的链接。

此外,当接受的答案说,“它默认为我不明白node server.js ”。 我想澄清文件的默认行为:

NPM启动

启动包

概要

npm start [-- <args>]

描述

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

总之,运行npm start可以做两两件事之一:

  1. npm start {command_name}运行的任意命令(即,如果在所指明的命令start的package.json的的属性scripts对象)
  2. npm start :否则,如果没有start属性存在(或没有command_name传递):运行node server.js ,(其可能不适合 ,例如,OP不具有server.js ;所述OP运行node app.js
  3. 我说我会只列出2项,但是其他的可能性(即误差的情况下)。 例如,如果没有package.json在运行目录npm start ,你可能会看到一个错误: npm ERR! enoent ENOENT: no such file or directory, open '.\package.json' npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'


文章来源: Difference between `npm start` & `node app.js`, when starting app?