一尘不染

`npm build`不会在package.json中运行名为“ build”的脚本

node.js

对于新模块,我试图在npm build没有gulp / Grunt
/其他专用构建工具的情况下使用。

"scripts": {
  "build": "node build.js"
},

我的build.js很简单

console.log('Hello')

但是,跑步

npm build

仅退出而不打印任何内容,状态为0。

运行:

npm install

也可以执行所有正常操作,但是也不运行build.js。

如何让npm运行我的构建脚本?

编辑:即使简单的bash命令似乎也不起作用,例如

"scripts": {
    "build": "touch TESTFILE"
},

不使用该名称创建文件。


阅读 456

收藏
2020-07-07

共1个答案

一尘不染

不幸的npm build是,已经是 内部 命令,如docs中所述

这是npm link和npm install调用的管道命令。 通常不应直接调用它。

由于该命令已经存在,因此它始终会覆盖您的"build": "node build.js"

运行自己的脚本的完全合格的方法是使用run-script或其别名run

$ npm run build

npm start其他方法是简便的方法,但是仅当现有npm命令没有像它那样遮盖它时,才是一种选择npm build


对于后代(如其他人所提到的那样)npm build,npm使用node-gyp构建本机C / C ++
Node插件。由于通常会自动进行记录,因此记录得不好,但是如果您有兴趣,可以在此处找到源代码

2020-07-07