TypeScript:
Komennoriviparametrien lukeminen

How to:

// tiedosto: greet.ts
const arguments = process.argv.slice(2);
console.log(`Hei ${arguments[0]}!`);

// Komentoriviltä ajettuna:
// $ ts-node greet.ts Tero
// Output: Hei Tero!

Deep Dive

Komentoriviargumenttien lukeminen on ollut osa ohjelmoinnin perustoimintoja siitä asti, kun käyttöjärjestelmät alkoivat tukea komentorivikieltoja. Node.js:ssä process.argv on standarditapa päästä käsiksi näihin argumentteihin. Taulukon ensimmäiset kaksi arvoa ovat node-binääritiedoston polku ja ajettavan skriptin polku, joten oikeat argumentit löytyvät taulukon indeksistä 2 eteenpäin.

Vaihtoehtoisesti voimme käyttää kirjastoja, kuten yargs tai commander, jotka tarjoavat enemmän toiminnallisuutta ja helpottavat argumenttien käsittelyä.

// Esimerkki yargs-kirjaston käytöstä
import yargs from 'yargs';

const args = yargs(process.argv.slice(2)).argv;
console.log(`Hei ${args.name}!`);

// Komentoriviltä:
// $ ts-node greet.ts --name=Tero
// Output: Hei Tero!

Argumenttien lukeminen TypeScriptissä tapahtuu Node.js:n tavoin, mutta lisäetuna on, että voimme hyödyntää TypeScriptin tyypityksiä vähentääksemme virheiden määrää ja parantaaksemme koodin selkeyttä.

See Also