2014-11-21 9 views
5

मैं कई तर्क के साथ निम्नलिखित commander आदेश है संभाल सकते हैंकमांडर कई आदेश तर्क

$ 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] } } } 

आप देख सकते हैं, कार्रवाई पहला तर्क प्राप्त होता है (<id>) और program, लेकिन दूसरा तर्क प्राप्त नहीं होता है: [name]

मैं कोशिश की है:

  • [name] में एक आवश्यक तर्क बनाना।
  • कमांड लाइन से उपकरण के लिए unquoted नाम पास।
  • मेरे असली ऐप को उपरोक्त छोटे पुनरुत्पादन कार्यक्रम में सरलीकृत करना।
  • name (rename <id> [name...]) के लिए एक variadic तर्क का उपयोग करना है, लेकिन यह कार्रवाई करने के लिए पहले पैरामीटर के रूप में एक ही सरणी में सौंपा जा रहा है, id होने के उद्देश्य को हराने के लिए 1 और Hello दोनों पर परिणाम है।

मुझे क्या याद आ रही है? क्या कमांडर केवल प्रति कम एक तर्क स्वीकार करता है (दस्तावेज़ीकरण में ऐसा नहीं दिखता है)?

उत्तर

1

मुझे लगता है कि यह commander के पुराने संस्करण में एक बग था। यह अब [email protected] के साथ काम करता है।

संबंधित मुद्दे