Hvordan sender jeg kommandolinjeargumenter til et Node.js-program?
Jeg har en webserver skrevet i Node.js, og jeg vil gerne starte med en bestemt mappe. Jeg er ikke sikker på, hvordan man får adgang til argumenter i JavaScript. I'm kører node på denne måde:
$ node server.js folder
her server.js
er min serverkode. Node.js hjælp siger, at dette er muligt:
$ node -h
Usage: node [options] script.js [arguments]
Hvordan kan jeg få adgang til disse argumenter i JavaScript? På en eller anden måde var jeg ikke i stand til at finde disse oplysninger på nettet.
2264
3
Standardmetode (uden bibliotek)
Argumenterne gemmes i
process.argv
.Her er [node-dokumentationen om håndtering af kommandolinjeargs:] (http://nodejs.org/docs/latest/api/process.html#process_process_argv)
Dette vil generere:
For at normalisere argumenterne som en almindelig javascript-funktion ville modtage, gør jeg dette i mine node.js-shell-scripts:
Bemærk, at det første arg normalt er stien til nodejs, og det andet arg er placeringen af det script, som du udfører.
Optimist (node-optimist)
Tjek optimist library, det er meget bedre end at analysere kommandolinjeindstillinger i hånden.
opdatering
Optimist er forældet. Prøv yargs, som er en aktiv fork af optimist.