20
How to take command line arguments in NodeJS?
Taking arguments from the command line is very common. You can take certain arguments you need as variables, certain flags, etc. In NodeJS, it's very easy
NodeJS exposes an array of argument values in the form of process.argv
.
index.js
console.log(process.argv)
Command Line
node index.js arg1 arg2 arg3
Output
[
'/usr/local/Cellar/node/16.0.0/bin/node',
'/Users/username/Code/arg/index.js',
'arg1',
'arg2',
'arg3'
]
The first element of the array is the Node Executable file in your machine. The second element is the file you're running. You can now take the arguments with indexes 2, 3, 4, etc. like process.argv[2]
, process.argv[3]
, etc.
But a nicer way would be to remove the first two elements from the array like soindex.js
const args = process.argv.slice(2)
console.log(args)
Output
['arg1', 'arg2', 'arg3']
You can also use this way to take flags from the command line like -s,
-o,
--help, etc, like in my [Airtable Url CLI](https://github.com/kavin25/airtable-url-cli).
yargs`. It can really make this much easier and with lesser code.
But, a better way would be to use a third party library like
20