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

对于一个新的模块,我正在尝试使用 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"
},

没有这个名字的文件。

113458 次浏览

预期的 NPM build

在根目录中包含 package.json 文件的文件夹

尝试在 package.json 中使用 Npm 脚本,就像经典的 npm start 一样

好的,要自己运行构建,请使用:

npm run-script build

不幸的是,npm build已经是一个 内部命令,如 在文件里所述:

这是由 npm 链接和 npm install 调用的铅管命令。 通常不应该直接调用它。

因为该命令已经存在,所以它总是隐藏在 "build": "node build.js"上。

运行自己的脚本的完全限定方法是使用 ABC0或其别名 run:

$ npm run build

npm start和其他命令是简便的方法,但是只有当现有的 npm 命令没有像 npm build那样跟踪它时,它才是一个选项。


对于后代(正如其他人所提到的) ,npm 使用 npm build来构建使用 Node-gyp的本地 C/C + + 节点插件。

我有一个问题与 npm run build不打印任何东西。结束使用 npm run build --verbose得到我需要的输出。

package.json中命名为“ build”的脚本在任何方面都没有特殊性。让它运行的唯一方法就是打电话给:

npm run-script build

有一些名称是由 npm 自动调用的,但是“ build”不在其中。完整清单如下:

  • prepublishpublishpostpublish
  • preinstallinstallpostinstall
  • preuninstalluninstallpostuninstall
  • preversionversionpostversion
  • pretesttestposttest
  • prestopstoppoststop
  • prestartstartpoststart
  • prerestartrestartpostrestart
  • 自定义脚本名称的 preCUSTOMpostCUSTOM