对于一个新模块,我尝试使用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"
},
不会生成具有该名称的文件。
发布于 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
$ npm run build
npm start
和其他工具是速记方法,但只有当现有的npm命令不像npm build
那样隐藏它时,才是一种选择。
对于后代(正如其他人所提到的),npm使用npm build
来构建使用node-gyp的本机C/C++节点插件。
发布于 2016-06-24 19:04:56
在package.json
中命名为"build“的脚本没有任何特殊之处。让它运行的唯一方法是调用:
npm run-script build
构建,但“There are some names which are called automatically by npm”不在其中。完整列表如下:
prepublish
,publish
、postinstall
preuninstall
,uninstall
、poststart
prerestart
,publish
、posttest
prestop
,start
、poststart
prerestart
,publish
、posttest
prestop
,start
、poststart
prerestart
,publish
、posttest
prestop
,start
、poststart
prerestart
,publish
、posttest
prestop
,start
、poststart
prerestart
,publish
、posttest
prestop
,start
、poststart
prerestart
,、posttest
prestop
,start
、poststart
prerestart
,、posttest
prestop
,start
、poststart
prerestart
,test
、poststop
prestart
,restart
用于自定义脚本名称的postrestart
preCUSTOM
和postCUSTOM
。发布于 2015-04-29 17:44:37
好的,要单独运行构建,可以使用:
npm run-script build
https://stackoverflow.com/questions/29939697
复制相似问题