2014-11-21 19 views
5

Birden argümanlarla aşağıdaki commander komut var işleyemezKomutanı çoklu komut argümanlar

$ node app.js 1 "Hello" 
{ '0': '1', 
    '1': 
    { commands: [], 
    options: [], 
    _execs: [], 
    _args: [ [Object] ], 
    _name: 'rename', 
    parent: 
     { commands: [Object], 
     options: [], 
     _execs: [], 
     _args: [], 
     _name: 'app', 
     Command: [Function: Command], 
     Option: [Function: Option], 
     _events: [Object], 
     rawArgs: [Object], 
     args: [Object] } } } 

Gördüğünüz gibi, eylem ilk bağımsız değişkeni (<id>) ve program alır, ancak ikinci bağımsız değişkeni almaz: [name].

denedim:

  • [name] gerekli bir argüman yapma.
  • Araca aldığınız adı komut satırından geçirerek.
  • Gerçek uygulamamı yukarıdaki minik çoğaltılabilir programa göre basitleştiriyorum.
  • name ( rename <id> [name...]) için bir değişkin değişken kullanma
  • , ancak bu id sahip amacı yenerek, harekete geçirici ilk parametre ile aynı diziye tahsis edilir, her iki 1 ve Hello ile sonuçlanır.

Neyi eksik? Komutan sadece komut başına bir argümanı kabul eder mi (dokümantasyonda öyle görünmüyor)?

cevap

1

Bu, commander eski sürümünde bir hata olduğunu düşünüyorum. Bu şimdi [email protected] ile çalışır.