2016-02-01 4 views
5

Hei guys!司令官を使用するアレイ

commander node.jsライブラリのヘルプが必要です。

commander 
    .version('3.0.0') 
    .usage('[options] <file ...>') 
    .option('-i, --input', 'Array of files to be extracted') 
    .option('-o, --output', 'Output file name') 
    .option('-p, --pattern', 'Pattern name to be used in the extraction') 
    .parse(process.argv); 

私の問題は、入力フラグである:私は次のように、3つのフラグ、--input、--outputと--patternを受け入れ、このCLIを作成する必要があります。私は配列データ型が必要なため、いくつかのファイルを送信する必要があります。

問題がある:

node ./bin/extract -i ../files/*.PDF 

私のファイルのディレクトリ内にあるすべての私のファイルを配列になる:私はちょうどこれを行うためにどのようにそれを把握することはできません。私はすでにドキュメントのすべてのサンプルを実行しようとすると、私は私の問題のための解決策を見つけることができませんでした。また、私は問題で検索し、いずれかを見つけられませんでした...何が奇妙な、多分私は何か間違ってやっているとあなたが助けることができる?

ありがとう!

答えて

2

あなたはそれを達成するためにCoercionを使用することができます。

function scanDir(val) { 
    files = fs.readdirSync(val); 
    return files; 
} 

program 
    .version('0.0.1') 
    .option('-s, --scan [value]', '', scanDir) 
    .parse(process.argv); 

console.log(' scan: %j', program.scan); 

など、それを呼び出す:

node app.js -s /foo 
+0

感謝ラザレフ! –

+0

あなたを助けてくれてうれしいよ!:) –

+0

この文脈で強制が何を意味するのかを私に説明することはできますか? –