Imam spletni strežnik, napisan v Node.js, in rad bi ga zagnal z določeno mapo. Nisem prepričan, kako dostopati do argumentov v jeziku JavaScript. Node zaganjam na naslednji način:
$ node server.js folder
tukaj server.js
je koda mojega strežnika. Node.js pomoč pravi, da je to mogoče:
$ node -h
Usage: node [options] script.js [arguments]
Kako bi lahko dostopal do teh argumentov v jeziku JavaScript? Nekako nisem mogel najti teh informacij na spletu.
Argumenti so shranjeni v process.argv
Tukaj so [dokumentacija vozlišča o ravnanju z args ukazne vrstice:] (http://nodejs.org/docs/latest/api/process.html#process_process_argv)
process.argv
je polje, ki vsebuje argumente ukazne vrstice. Prvi element je 'node', drugi element pa je ime datoteke JavaScript. Naslednji elementi so morebitni dodatni argumenti ukazne vrstice.
// print process.argv
process.argv.forEach(function (val, index, array) {
console.log(index + ': ' + val);
});
To bo ustvarilo:
$ node process-2.js one two=three four
0: node
1: /Users/mjr/work/node/process-2.js
2: one
3: two=three
4: four
Za normalizacijo argumentov, kot bi jih prejela običajna funkcija javascript, to naredim v svojih skriptih node.js shell:
var args = process.argv.slice(2);
Upoštevajte, da je prvi argument običajno pot do nodejs, drugi pa lokacija skripte, ki jo izvajate.
Preverite knjižnico optimist, saj je veliko boljša od ročnega razčlenjevanja možnosti ukazne vrstice.
Posodobitev
Optimist je zastarel. Poskusite yargs, ki je aktivna vilica optimista.