TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

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モジュールの詳細はこちら