Dzięki odpowiedzi udzielonej przez Kevin ternet, a dla informacji dostarczonych przez maioman co skończyło się robi to w ten sposób:
if(process.argv[2] === undefined){
say('false');
} else {
say('true');
}
Oto co się dzieje, gdy proces ARGV
w Gałąź:
ARGV[0]
:
if(process.argv[0] === undefined){
console.log('Failure');
console.log(process.argv[0]);
} else {
console.log('Success');
console.log(process.argv[0]);
}
wyjściowa:
Success
C:\Program Files\nodejs\node.exe //Path to node executable
ARGV[1]
:
if(process.argv[1] === undefined){
console.log('Failure');
console.log(process.argv[1]);
} else {
console.log('Success');
console.log(process.argv[1]);
}
wyjściowa:
Success
C:\Users\bin\javascript\node\test.js //Path to file
ARGV[2]
:
if(process.argv[2] === undefined){
console.log('Failure');
console.log(process.argv[1]);
} else {
console.log('Success');
console.log(process.argv[2]);
}
wyjściowa:
Success
--example //The actual flag that was given
Tak więc, aby sprawdzić, czy flaga jest faktycznie podana szukać ARGV[2]
.
Oto przykład całego ARGV
drzewa RAN:
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] ]
więc zapytać widać drzewo jest skonstruowany jako tablicę z pierwszym argumentem jest 0
.
'NUL nie jest zdefiniowany' – maioman
@maioman Czy" NUL "to tylko sposób na powiedzenie, że tam nie ma? – 13aal
try '(process.argv [1] === undefined)', 'NUL' nie jest predefiniowane w js – maioman