mik*_*ana 127 javascript build node.js npm
对于一个新模块,我试图使用npm build
没有gulp/Grunt /其他专门的构建工具.
"scripts": {
"build": "node build.js"
},
Run Code Online (Sandbox Code Playgroud)
我的build.js很简单
console.log('Hello')
Run Code Online (Sandbox Code Playgroud)
但是,跑步
npm build
Run Code Online (Sandbox Code Playgroud)
只需退出而不打印任何内容,状态为0.
运行:
npm install
Run Code Online (Sandbox Code Playgroud)
也做所有正常的事情,但也不运行build.js.
如何让npm运行我的构建脚本?
编辑:即使是简单的bash命令似乎也不起作用,例如
"scripts": {
"build": "touch TESTFILE"
},
Run Code Online (Sandbox Code Playgroud)
不创建具有该名称的文件.
jay*_*lps 226
不幸的npm build
是,已经是一个内部命令,如文档中所述:
这是由npm link和npm install调用的管道命令. 通常不应该直接调用它.
因为该命令已经存在,所以它总是会遮挡你的命令"build": "node build.js"
.
运行自己脚本的完全限定方法是使用run-script
或使用别名run
:
$ npm run build
Run Code Online (Sandbox Code Playgroud)
npm start
和其他人是简单的方法,但只有当现有的npm命令不影响它时才是一个选项,就像npm build
这样.
对于后代(正如其他人提到的那样)npm build
,npm使用node- gyp来构建本机C/C++节点插件.它没有很好地记录,因为它通常是自动发生的,但是如果你感兴趣的话,源代码就在这里.
Fli*_*imm 18
名为"build"的脚本package.json
在任何方面都不是特殊的.让它运行的唯一方法是调用:
npm run-script build
Run Code Online (Sandbox Code Playgroud)
有些名称由npm自动调用,但"build"不是其中之一.完整列表是:
prepublish
,publish
,postpublish
preinstall
,install
,postinstall
preuninstall
,uninstall
,postuninstall
preversion
,version
,postversion
pretest
,test
,posttest
prestop
,stop
,poststop
prestart
,start
,poststart
prerestart
,restart
,postrestart
preCUSTOM
以及postCUSTOM
自定义脚本名称. 归档时间: |
|
查看次数: |
66274 次 |
最近记录: |