首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >` `npm start`和` `node app.js`的区别,什么时候启动app?

` `npm start`和` `node app.js`的区别,什么时候启动app?
EN

Stack Overflow用户
提问于 2012-07-30 14:36:52
回答 2查看 127.9K关注 0票数 195

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

npm start

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

node app.js

来启动我的服务器。有人知道这两者之间的区别吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-30 14:57:06

man page开始,npm开始:

如果提供了包的“启动”脚本,

将运行该脚本。如果未指定版本,则启动“活动”版本。

诚然,这种描述完全没有帮助,这就是它所说的一切。至少它比socket.io有更多的文档。

无论如何,实际发生的情况是npm查看您的package.json文件,如果您有如下内容

开始“脚本”:{“

”:“ server.coffee”}

那么它就会这么做。如果npm找不到您的启动脚本,则默认为:

节点server.js

票数 279
EN

Stack Overflow用户

发布于 2017-05-07 03:36:11

documentation has been updated。我的答案与公认的答案相比有很大的变化:我想反映文档是最新的,而公认的答案有一些断开的链接。

另外,我也不明白什么时候被接受的答案是“它默认为node server.js”。我认为文档澄清了默认行为:

npm-启动

启动一个包

提要

npm start [-- <args>]

描述

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

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

  1. npm start {command_name}:运行任意命令(例如,如果在object)
  2. npm start:的Package.json的nodeapp.jsstart属性中指定了这样的命令,否则如果不存在start属性(或者没有传递command_name ):运行node server.js (这可能不合适,例如OP没有server.js;OP运行nodeapp.js)
  3. 我说过我只列出2项,但有其他可能性(即错误情况)。例如,如果在运行npm start的目录中没有package.json,则可能会看到错误:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11716421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档