Accessing Command Line Arguments

Evan Hicks

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:

Get Started With Sentry

Get actionable, code-level insights to resolve Node performance bottlenecks and errors.

  1. Create a free Sentry account

  2. Create a Node project and note your DSN

  3. Install the Sentry Node SDK

npm install @sentry/node
  1. Configure your DSN
const Sentry = require('@sentry/node'); Sentry.init({ dsn: 'https://<key>@sentry.io/<project>' });

Loved by over 4 million developers and more than 90,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.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.