Accessing command line arguments

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.

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:

Expert

Evan Hicks

Do you like corporate newsletters?

Neither do we. Sign up anyway.

Want more banter/opinions?

Follow @getsentry on twitter
© 2021 • Sentry is a registered Trademark
of Functional Software, Inc.