node.jsでコマンドライン引数を受け取る
node.jsで書いたプログラムにコマンドライン引数を渡す必要が
あったため、スニペットします。。
node.js側でprocessオブジェクトのargvプロパティによりコマンドライン引数を取得することができます。
processは標準モジュールにより設定されているグローバルオブジェクトなので、別途モジュールのインストール・requireは必要なし。
processオブジェクトの詳細はこちら
test.js
console.log(process.argv);
こんな感じでコマンドライン引数を渡すと
$node test.js arg1 arg2
配列で取得できます。
第1要素は"node"という文字列が、第2要素にはnode.jsプログラムのファイルパスが格納され、
第3要素以降には指定したコマンドライン引数が格納されています。
[ 'node', '/var/www/html/node/test.js', 'arg1', 'arg2' ]
上記以外でもargvというモジュールがあり、少しだけ取得しやすくなっているようです。
$npm install argv
test.js
var argv = require("argv"); console.log(argv.run());
結果はオブジェクトで取得できます。
{ targets: [ 'arg1', 'arg2' ], options: {} }
argvモジュールを使うと、オプションを定義・指定できたりしますが、
今回は特に使わなかったのでカットで!
argvモジュールの詳細はこちら