The Problem

Sometimes in your Node app you will want to access the command line arguments that were passed in when running your script. The usage message for Node says that passing arguments are possible.

$ node -h
Usage: node [options] script.js [arguments]

The Solution

Command line arguments passed into your script are available using process.argv in your code. This is an array that stores all the details of how your script was run, including the executable used and the path to the current script.

The docs for using this variable can be found here. Below is an example of what the process.argv looks like.

// This is example.js
process.argv.forEach((val, idx) => {
    console.log(`${idx}: ${$val}`)
})
$ node example.js arg1 arg2=test
0: /usr/bin/local/node
1: /Users/myuser/example.js
2: arg1
3: arg2=test

There are also lots of packages that can be used to help parse different arguments for use in your app, such as argparse.

The Experts

Evan Hicks

Working Code, Happy Users. Sentry Application Monitoring.

Fix Bugs Faster