LoginSignup
83
84

More than 5 years have passed since last update.

Node.js & Expressで最初にいれるべきモジュール

Last updated at Posted at 2013-08-07

最近, 仕事やプライベートで, ちょっとしたプログラムを書くときは, Node.jsを使う頻度が増えてきており, その実行結果をブラウザ上で見れるようにするためにExpressを使うことが多くなってきたということもあり, 一度, Node.js & Expressでよく使っているモジュールを簡単にまとめてみます.

ただ, まだまとめ途中であり, 増えたり減ったりすると思います. 他にもおすすめのモジュールとかあったら教えていただければと思います.

config

npm install config

アプリケーションの設定情報を管理するためのモジュール. ルートの config フォルダを作成し, その中に default.json を作る. default.jsonの中身が, configモジュールの設定情報を保持するファイル. 開発環境用の設定ファイル, 本番環境用の設定ファイル, などのように管理できる.

log4js

npm install log4js

実行ログを残すためのライブラリ. 上記configモジュールの設定内に,

config.json
"log": {
  "type": "dateFile",
  "appenders": [ {
    "type": "dateFile",
    "filename": "log/logging.log",
    "pattern": "-yyyy-MM-dd"
  } ]
}

などと記述しておき, app.js内などで,

app.js
var log4js = require('log4js');
log4js.configure({"appenders": config.log.appenders});
var logger = log4js.getLogger(config.log.type);
logger.info('Logging start. ');

といった感じで使っている.

moment

npm install moment

日付情報を扱うためのライブラリ. 機能が豊富で使いやすい, かつ使う可能性が高いのでとりあえず入れておく系.

mocha, should

npm install mocha
npm install should

JavaScript用の自動テストフレームワーク.

supertest

npm install supertest

Expressのルーティングを含む全体をテストするためのツール.

app.js
// 末尾部分
module.exports = app;

if (!module.parent) {
   http.createServer(app).listen(app.get('port'), function(){
     console.log('Express server listening on port ' + app.get('port'));
   });
 }

d3

npm install d3

CSVのパース処理を行ってくれるライブラリ. CSVパーサーには他に, ya-csv というライブラリもあるが, 自分的には d3 のほうがおススメ. ya-csvの場合, 行ごとにパースを行い行ごとにコールバック関数が呼び出されるが, d3は一括でパースを行ってくれ, 非同期ではない点が気に入っています.

データ量が多いCSVファイルをパースするのであれば, ya-csvのような非同期型のほうがいいかもしれません.

parse.js
var d3 = require('d3');
var csv = d3.csv.parse(data_string);
console.log(csv[0]['id']);

パース後は, 1行目をヘッダ行とみなして, 各行をヘッダ行の文字列をキーとするオブジェクトの配列として帰ってくる.

その他いろいろ

まだ書ききれていません.

83
84
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
83
84