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.