13a*_*aal 5 javascript argv node.js
运行带节点的程序时:
node test.js
Run Code Online (Sandbox Code Playgroud)
你怎么检查程序是否ARGV在运行时给出node test.js --example?到目前为止我尝试的是以下内容:
function say(input){
console.log(input);
}
if(process.argv[1] !== '')
{
say('false');
}
else {
say('success');
}
Run Code Online (Sandbox Code Playgroud)
if(process.argv[1] === null)
{
say('false');
}
else {
say('success');
}
Run Code Online (Sandbox Code Playgroud)
然而,第一个解决方案不会输出else,第二个解决方案只输出,NUL is not defined所以我想的是我在编码时犯了一些错误?
试着这个非常清楚:
console.log(process.argv);
Run Code Online (Sandbox Code Playgroud)
感谢kevin ternet提供的答案,以及maioman提供的信息,我最终做的是:
if(process.argv[2] === undefined){
say('false');
} else {
say('true');
}
Run Code Online (Sandbox Code Playgroud)
以下是ARGV在 Node 中处理时发生的情况:
ARGV[0]:
if(process.argv[0] === undefined){
console.log('Failure');
console.log(process.argv[0]);
} else {
console.log('Success');
console.log(process.argv[0]);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Success
C:\Program Files\nodejs\node.exe //Path to node executable
Run Code Online (Sandbox Code Playgroud)
ARGV[1]:
if(process.argv[1] === undefined){
console.log('Failure');
console.log(process.argv[1]);
} else {
console.log('Success');
console.log(process.argv[1]);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Success
C:\Users\bin\javascript\node\test.js //Path to file
Run Code Online (Sandbox Code Playgroud)
ARGV[2]:
if(process.argv[2] === undefined){
console.log('Failure');
console.log(process.argv[1]);
} else {
console.log('Success');
console.log(process.argv[2]);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Success
--example //The actual flag that was given
Run Code Online (Sandbox Code Playgroud)
因此,因此要检查是否确实给出了标志,您可以查找ARGV[2].
这是整个ARGV树运行的示例:
if(process.argv === undefined){
console.log('Failure');
console.log(process.argv);
} else {
console.log('Success');
console.log(process.argv);
}
Success
[ 'C:\\Program Files\\nodejs\\node.exe' //ARGV[0],
'C:\\Users\\bin\\javascript\\node\\test.js' //ARGV[1],
'--example' //ARGV[2] ]
Run Code Online (Sandbox Code Playgroud)
因此,正如您所看到的,树的结构是一个数组,第一个参数是0.
| 归档时间: |
|
| 查看次数: |
4168 次 |
| 最近记录: |