`npm start`抱怨“缺less脚本:开始”,没有运行节点

我在我的NPM包中有以下文件:

package.json

 { "name": "npm-start", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } 

index.js

 console.log('Hello world!'); 

当我尝试运行npm start ,收到错误消息:

 > npm start npm ERR! missing script: start 

好吧,这是真的: "scripts"对象中没有"start"属性。 但是NPM的CLI文档声明了关于npm start这个:

如果在"scripts"对象上没有指定"start"属性,它将运行node server.js

为什么NPM让我失望? 是不是应该在这种情况下调用node ? 我错过了什么吗? (当然,手动调用节点工作正常)。

如果相关:

 > npm -version 5.3.0 

我一输完问题,就意识到自己的错误。

"start"属性不存在时,NPM将使用server.js调用node 。 但是我没有server.js 。 NPM检查这个server.js文件的server.js ,如果不存在则失败。 理想情况下,NPM应该报告没有findserver.js 。 目前的处理方式是令人困惑的。

只要你有一个server.js文件, npm start工作正常。