node.js でコマンドライン引数を取りたい場合は opts というモジュールを使うことで簡単に実現出来ます。
optsモジュールは npm でインストールします。
npm install opts
試しに引数で指定したポート番号でHTTPサーバを立ち上げるコードを書いてみました。
var http = require('http')
, opts = require('opts');
opts.parse([
{
'short': 'p',
'long': 'port',
'description': 'HTTP port',
'value': true,
'required': false
},
]);
var port = opts.get('port') || 3000
server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Hello World!</h1>');
res.end();
});
server.listen(port);
実行。
node app.js -p 3001
requiredをtrueにして引数を省略して起動するとちゃんとエラーになります。
$ node app.js
Missing required option: p
Usage: node /path/app.js [options]
HTTP port
-p, --port <value> (required)