Poznajemy moduł process oraz argv – argumenty przekazywane z konsoli. Do dzieła!

Nasz prosty kodzik:

const process = require('process'); 

var args = process.argv; 
console.log(args);

// >node .\argsy.js blabla bla  
// [
//   'C:\\Program Files\\nodejs\\node.exe',
//   'C:\\Users\\abc\\Desktop\\blog\\node1\\argsy.js',
//   'blabla',
//   'bla'
// ]

Od razu zwróćmy uwagę, co się stanie, gdy przekażemy „blabla bla” (to jest cudzysłów):

const process = require('process'); 

var args = process.argv; 
console.log(args);

// >node .\argsy.js "blabla bla"
// [
//   'C:\\Program Files\\nodejs\\node.exe',
//   'C:\\Users\\abc\\Desktop\\blog\\node1\\argsy.js',
//   'blabla bla'
// ]

To taka podstawa przy pracy z CLI, którą najlepiej sobie przyswoić jak najszybciej. Okej, spróbujmy iterować po argsach:

const process = require('process'); 

var args = process.argv; 

console.log("number of arguments is "+args.length); 
  
args.forEach((val, index) => { 
    console.log(`${index}: ${val}`); 
}); 

// >node .\argsy.js "blabla bla"
// number of arguments is 3
// 0: C:\Program Files\nodejs\node.exe
// 1: C:\Users\abc\Desktop\blog\node1\argsy.js
// 2: blabla bla

Pierwsze dwa argumenty raczej nie będą nam potrzebne:

const process = require('process'); 

var args = process.argv; 

console.log(`number of arguments is ${args.length - 2}`); 
  
args.forEach((val, index) => { 
    if(index >= 2)
        console.log(`${index-1}: ${val}`); 
}); 

// > node .\argsy.js "blabla bla"
// number of arguments is 1
// 1: blabla bla

Podstawy CLI już mamy za sobą. Reszta wkrótce.