Accessing Command Line Arguments

Evan Hicks
jump to solution

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.

Please see the documentation on this variable. 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.

Further Reading

If you’re looking to get a deeper understanding of how Node.js application monitoring works, take a look at the following articles:

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry