`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
工作正常。