Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

最近, 仕事やプライベートで, ちょっとしたプログラムを書くときは, 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行目をヘッダ行とみなして, 各行をヘッダ行の文字列をキーとするオブジェクトの配列として帰ってくる.

その他いろいろ

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away