首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >` `npm build`不会在package.json中运行名为"build“的脚本

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

Stack Overflow用户
提问于 2015-04-29 17:33:23
回答 5查看 95.4K关注 0票数 151

对于一个新模块,我尝试使用npm build,而不使用gulp / Grunt /其他专门的构建工具。

代码语言:javascript
复制
"scripts": {
  "build": "node build.js"
},

我的build.js是简单的

代码语言:javascript
复制
console.log('Hello')

但是,运行

代码语言:javascript
复制
npm build

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

运行:

代码语言:javascript
复制
npm install

也可以做所有正常的事情,但也不运行build.js。

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

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

代码语言:javascript
复制
"scripts": {
    "build": "touch TESTFILE"
},

不会生成具有该名称的文件。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-05-08 05:55:16

不幸的是,正如in the docs所描述的,npm build已经是一个内部命令

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

因为该命令已经存在,所以它总是笼罩在您的"build": "node build.js"上。

运行您自己的脚本的完全限定方式是使用run-script or its alias run

代码语言:javascript
复制
$ npm run build

npm start和其他工具是速记方法,但只有当现有的npm命令不像npm build那样隐藏它时,才是一种选择。

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

票数 266
EN

Stack Overflow用户

发布于 2016-06-24 19:04:56

package.json中命名为"build“的脚本没有任何特殊之处。让它运行的唯一方法是调用:

代码语言:javascript
复制
npm run-script build

构建,但“There are some names which are called automatically by npm”不在其中。完整列表如下:

  • prepublishpublishpostinstall
  • preuninstalluninstallpoststart
  • prerestartpublishposttest
  • prestopstartpoststart
  • prerestartpublishposttest
  • prestopstartpoststart
  • prerestartpublishposttest
  • prestopstartpoststart
  • prerestartpublishposttest
  • prestopstartpoststart
  • prerestartpublishposttest
  • prestopstartpoststart
  • prerestart,、posttest
  • prestopstartpoststart
  • prerestart,、posttest
  • prestopstartpoststart
  • prerestarttestpoststop
  • prestartrestart用于自定义脚本名称的postrestart
  • preCUSTOMpostCUSTOM
票数 20
EN

Stack Overflow用户

发布于 2015-04-29 17:44:37

好的,要单独运行构建,可以使用:

代码语言:javascript
复制
npm run-script build
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29939697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档