TypeScript:
Läsa in kommandoradsargument
Hur gör man:
Dags att dyka in. För att börja, installera ts-node för att kunna köra TypeScript filer direkt:
npm install -g ts-nodeSkapa sen en parseArgs.ts och använd process-objektet:
// parseArgs.ts
// Argumenten finns i 'process.argv', index 2 och framåt
const args = process.argv.slice(2);
console.log(args);Kör filen såhär:
ts-node parseArgs.ts arg1 arg2 arg3Förväntat svar skulle vara:
[arg1, arg2, arg3]Djupdykning:
Kommandoradsargument i Node.js (och TypeScript) hanteras genom globala process-objektet, specifikt argv egenskapen. Historiskt sett härstammar detta från C och Unix-världen där argumenten hanterades genom argv[] i main-funktionen.
Det finns alternativ som commander och yargs för mer avancerad manipulering och validering av kommandoradsargument.
Implementationen är omedelbar: indexerade från 0 där index 0 är sökvägen till node.exe och index 1 är den exekverade .ts filens sökväg. Därför börjar våra egna argument från index 2.
Se också:
- Node.js dokumentation om process.argv: https://nodejs.org/docs/latest-v16.x/api/process.html#process_process_argv
commandernpm paket: https://www.npmjs.com/package/commanderyargsnpm paket: https://www.npmjs.com/package/yargs