2016-02-01 18 views
5

Hei!Tablice używające komendanta

Potrzebuję pomocy z biblioteką node.js commander. Muszę stworzyć ten CLI która przyjmuje 3 flagi, --input, --output i --pattern, jak:

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); 

Mój problem jest z flagą wejściowego. Potrzebuję wysłać kilka plików, ponieważ potrzebuję typu danych tablicy.

Problemem jest: po prostu nie może dowiedzieć się, jak to zrobić w ten sposób:

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

stać tablica ze wszystkich moich plików, które są w moim katalogu plików. Próbuję już uruchomić każdą próbkę w dokumentacji i nie znalazłem rozwiązania dla mojego problemu. Ponadto szukałem w problemach i nie znalazłem ani ... co jest dziwne, może robię coś źle, a wy możecie pomóc ??

Dzięki!

Odpowiedz

2

Można użyć Coercion aby go osiągnąć:

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); 

i nazywają to lubią:

node app.js -s /foo 
+0

dzięki Lazarev! –

+0

Cieszę się, że mogę Ci pomóc! :) –

+0

Czy możesz mi wyjaśnić, co oznacza przymus w tym kontekście? –