我想在我的Node项目中使用mpv选项,但是这个选项似乎已经被保留了。
$ npm -mpv 产出: 6.5.0
mpv选项指向什么?
我是否可以将mpv选项用于我的Node项目?
发布于 2020-01-14 03:36:34
TLDR
您可以使用--mpv作为node.js项目的参数。没有什么能使它不起作用的。
示例:
// example.js
if (process.argv[2] == '--mpv') {
console.log('hooray');
}如果您以hooray作为参数运行--mpv,那么上面的脚本将打印它:
$ node example.js --mpv
hooray详细信息:
由于某些原因,npm命令将--选项与-选项同等对待。因此,命令:
npm --mpv被解释为
npm -m -p -vm和p都不会做任何事情,也不会被忽略,而不会抛出错误。但是v选项输出版本号。因此,该命令与
npm -v注意,npm不是node.js。节点的行为不一样,将引发错误:
$ node --mpv
node: bad option: --mpv实际上,npm项目明确声明自己不是节点包管理器,尽管npm现在由node.js项目直接管理。Npm可以部署用其他语言编写的包,比如Ruby (比如最初的Sass项目,现在用js重新编写)、Python,甚至是C和程序集。
发布于 2020-01-14 03:37:15
--mpv不是一个保留选项--任何其他序列也不是。节点本身接受许多选择,但是在脚本名直接传递给process.argv之后命令行中的任何内容。
换句话说,以下是两种不同的行为:
$ node --inspect script.js # enables node's built-in debugger; process.argv = ['node', 'script.js']
$ node script.js --inspect # process.argv = ['node', 'script.js', '--inspect']此外,--mpv 不出现在npm文档中的任何位置。我怀疑npm将--mpv误用为-v并打印其版本号。
https://stackoverflow.com/questions/59727053
复制相似问题