To develop a command-line application using Node.js, follow these steps:
Initialize the project by creating a new Node.js environment using either npm or yarn.
Navigate to your project directory in the terminal and run one of the following comands:
npm init
or
yarn init
This generates a package.json file that holds essential project metadata and dependency definitions.
Install a command-line interface library such as Commander.js or Yargs to facilitate building CLI commands and options.
Use the following commmand to install Commander.js:
npm install commander
or
yarn add commander
Create a command using the chosen library. This involves defining a new .js file and specifying the command logic with in it.
Here's an example implementation using Commander.js:
#!/usr/bin/env node
const { program } = require('commander');
program
.version('0.1.0')
.command('hello')
.description('Display a greeting message')
.action(() => {
console.log('Hello!');
});
program.parse(process.argv);
In this example, we define a "hello" command that outputs "Hello!" when executed. To invoke this command, run:
node your-app.js hello
Enhance the application by incorporating options into the command structure.
Below is an illustration using Yargs to implement an option:
#!/usr/bin/env node
const yargs = require('yargs/yargs')
const { hideBin } = require('yargs/helpers')
const argv = yargs(hideBin(process.argv))
.option('name', {
alias: 'n',
type: 'string',
description: 'User’s name',
demandOption: true
})
.argv
console.log(`Hello, ${argv.name}!`);
In this snippet, we introduce a required "name" option that accepts string input. Execute the script with:
node your-app.js --name John
Distribute your application for public use by publishing it to npm or packaging it as an executable.
To publish to npm, first create an account, then execute the following commands:
npm login
npm publish
These instructions provide a foundation for developing a Node.js-based command-line tool.