繁体   English   中英

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

[英]`npm build` doesn't run the script named “build” in package.json

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

不制作具有该名称的文件。

不幸的是npm build已经是一个内部命令,如文档中所述

这是由 npm link 和 npm install 调用的管道命令。 一般不应直接调用。

因为该命令已经存在,所以它总是"build": "node build.js"在你的"build": "node build.js"

运行您自己的脚本的完全限定方式是使用run-script或其别名run

$ npm run build

npm start和其他是速记方式,但只有在现有 npm 命令不隐藏它时才可以选择,就像npm build那样。


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

package.json名为“build”的脚本在任何方面都没有什么特别之处。 让它运行的唯一方法是调用:

npm run-script build

有一些名称由 npm 自动调用,但“build”不是其中之一。 完整列表是:

  • prepublishpublishpublish postpublish
  • preinstallinstallpostinstall
  • uninstall preuninstalluninstalluninstall postuninstall
  • preversion version , version , 后postversion
  • pretest , test , posttest
  • prestopstoppoststop
  • prestartstartpoststart
  • restart prerestartrestartpostrestart
  • preCUSTOMpostCUSTOM用于自定义脚本名称。

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

npm run-script build

我遇到了npm run build不打印任何内容的问题。 最终使用npm run build --verbose来获得我需要的输出。

Npm 构建期望

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM