Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 从npm脚本获取版本级别_Node.js_Npm - Fatal编程技术网

Node.js 从npm脚本获取版本级别

Node.js 从npm脚本获取版本级别,node.js,npm,Node.js,Npm,我想写的是,当通过运行程序包版本时运行哪一个。我不希望我的脚本通过npm run\uuuuuuuuuuuuuuuuuuuuuuuuu直接调用;相反,当调用npm版本(或preversion或postversion等)时,它们应该由npm调用 如何在脚本中引用版本级参数 e、 g.如果我的脚本以preversion运行,并且是从npm version major调用的,那么我的脚本如何引用major?在我的脚本中,我可以引用process.env.npm\u config\u argv。它的值是一

我想写的是,当通过运行程序包版本时运行哪一个。我不希望我的脚本通过
npm run\uuuuuuuuuuuuuuuuuuuuuuuuu
直接调用;相反,当调用
npm版本
(或
preversion
postversion
等)时,它们应该由npm调用

如何在脚本中引用版本级参数


e、 g.如果我的脚本以
preversion
运行,并且是从
npm version major
调用的,那么我的脚本如何引用
major

在我的脚本中,我可以引用
process.env.npm\u config\u argv
。它的值是一个JSON字符串,其中包含npm的原始参数

如果my package.json包含:

"scripts": {
  "preversion": "node log_argv"
}
log_argv.js
包含:

"scripts": {
  "preversion": "node log_argv"
}
console.log('Type:',typeof process.env.npm_config_argv);
log('Value:',process.env.npm_config_argv);
log('Original npm args:',JSON.parse(process.env.npm_config_argv.Original);
抛出新错误(“中止”);
我运行
npm版本补丁
,然后看到输出:

Type: string
Value: {"remain":["patch"],"cooked":["version","patch"],"original":["version","patch"]}
Original npm args: [ 'version', 'patch' ]

对不起,你能解释一下我如何用这个问题的答案来回答我的问题吗?我没有编写一个由
npm run myScript
直接调用的任意脚本;相反,在
version
生命周期挂钩上调用
myScript
npm version
命令已经接受了一个参数并对其进行了自己的验证。我只想在
myScript
中引用该arg的值。