2017-5-16
node.jsで気に入ったパッケージ
備忘録のため、メモ程度に残しておく
json-server
typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)
API モックを作るのに便利
クエリパラメータによらず、固定の値を返して欲しい場合は custom routes を使えばいい
cheerio-httpcli
npm: cheerio-httpcli
取得した HTML を、jQuery ライクに探索することが出来る。
スクレイピングする際に最高。
製作者による記事:Node.js 用のスクレイピングモジュール「cheerio-httpcli」の紹介 - Qiita
node-twitter-api
reneraab/node-twitter-api: Simple module for using Twitter's API in node.js
このパッケージ一つで認証から API 叩く所まで全て賄える。他のパッケージ探した限りでは認証用のパッケージと API 叩く(ラッパー的な)用のパッケージ2種類使わないといけない感じでちょっと微妙だった。
ただ残念ながら README に書いている通り既にメンテナンスされていない。
コードが千行程度で割りと短いので、自分で読んで一度理解しておくのもいいかもと思った。
minimist
CUI 上で使用する node.js プログラムを作る際、引数を簡単に扱えるようにしてくれるパッケージ。
詳細
node.js ではprocess.argv
で引数を取得することが出来る
例えば、hoge
という以下の内容の JavaScript プログラムを作成したとする。
#!/usr/bin/env node
// 実際の引数は配列の3番目以降なので、sliceを利用して抽出する
var argv = process.argv.slice(2);
console.log(argv);
これに対し、hoge -e dev
といったコマンドを打った場合は
[ '-e', 'dev' ]
このままだと単に配列に羅列されているだけで扱いづらい。
ここでminimistを利用すると
#!/usr/bin/env node
var minimist = require('minimist');
// 実際の引数は配列の3番目以降なので、sliceを利用して抽出する
var argv = minimist(process.argv.slice(2));
console.log(argv);
のようなソースコードになり、hoge -e dev
に対する出力は
{ _: [], e: 'dev' }
と言うかたちとなる。
今回の場合、-e
オプションはdev
なら開発環境モード、prod
なら本番環境モードといった感じの物を想定しており、
var environment = argv.e || 'dev';
といった形で変数environment
にオプションが指定されている場合は指定されたオプションが入り、指定されていない場合はデフォルト値(今回の場合は dev)が入る、といったよくある処理が簡単に出来るようになる。