Eu tenho um servidor web escrito em Node.js e eu gostaria de lançar com uma pasta específica. I'não tenho certeza de como acessar argumentos em JavaScript. I'm rodando um nó como este:
$ node server.js folder
aqui server.js
é o código do meu servidor. A ajuda do Node.js diz que isso é possível:
$ node -h
Usage: node [options] script.js [arguments]
Como eu poderia acessar esses argumentos em JavaScript? De alguma forma não fui capaz de encontrar esta informação na web.
Os argumentos são armazenados em process.argv
.
Aqui estão os documentos do nó sobre como lidar com args de linha de comando:
process.argv
é um array contendo os argumentos da linha de comando. O primeiro elemento será 'node', o segundo elemento será o nome do arquivo JavaScript. O próximo elemento será qualquer argumento de linha de comando adicional.
// print process.argv
process.argv.forEach(function (val, index, array) {
console.log(index + ': ' + val);
});
Isto vai gerar:
$ node process-2.js one two=three four
0: node
1: /Users/mjr/work/node/process-2.js
2: one
3: two=three
4: four
Para normalizar os argumentos como uma função javascript regular receberia, eu faço isso no meu node.js shell scripts:
var args = process.argv.slice(2);
Note que o primeiro arg é normalmente o caminho para nodejs, e o segundo arg é a localização do script que você're executando.
Confira biblioteca otimista, é muito melhor do que analisar as opções de linha de comando à mão.
**Actualização***
Optimist é depreciado. Tente yargs que é um garfo ativo do otimista.