📅  最后修改于: 2023-12-03 15:38:22.013000             🧑  作者: Mango
在 Node.js 中,可以通过 process.argv
来获取命令行参数。process.argv
返回一个数组,其中包含 Node.js 进程启动时传递给它的命令行参数。
下面的代码片段展示了如何使用 process.argv
来获取命令行参数。
// index.js
const args = process.argv;
console.log(args);
在命令行中执行以下命令:
$ node index.js arg1 arg2 arg3
将会输出以下内容:
[
'/usr/local/bin/node',
'/User/path/to/file/index.js',
'arg1',
'arg2',
'arg3'
]
process.argv
中的前两个元素通常是 Node 可执行文件和当前脚本的路径,我们可以使用 slice
方法创建一个新数组,仅包含脚本参数。
// index.js
const args = process.argv.slice(2);
console.log(args);
在执行以下命令:
$ node index.js arg1 arg2 arg3
将输出以下内容:
[
'arg1',
'arg2',
'arg3'
]
通常,我们希望使用选项标志来从命令行中获取参数。process.argv
可以很容易地支持这种用法。
假设我们希望 -f
标志作为一个文件名选项,并且 -c
标志作为一个配置文件选项。 这时候可以使用 minimist 模块。
// index.js
const args = require('minimist')(process.argv.slice(2));
console.log(args);
在执行以下命令:
$ node index.js -f file.txt -c config.json
将输出以下内容:
{
f: 'file.txt',
c: 'config.json',
_: []
}
这个对象包含 f
和 c
类型的选项,以及一个 _
数组包含了未识别的参数。
使用 process.argv
,我们可以轻松地从命令行中获取参数。 如果需要支持选项标志,则可以使用 minimist
或类似的模块来实现。