Node.js + Express 4.xで、Gzip圧縮を実装する
2015-09-02
インターネット上には、Express 3.x系の情報ばかりで、苦労したので備忘録として。
前提
以下のバージョンを使用しています。
モジュール名 | バージョン |
---|---|
Node.js | 0.12.0 |
Express | 4.13.3 |
compression | 1.5.2 |
モジュールのインストール
あらかじめ必要なモジュールをインストールします。
cd /path/to/project-directory/
npm install express --save
npm install compression --save
最新版で本記事どおりうまく動かないなどの場合は、以下のようにバージョンを指定してインストールしてください。
cd /path/to/project-directory/
npm install express@4.13.3 --save
npm install compression@1.5.2 --save
コード本文
Node.jsのコードを記述していきます。
var express = require('express');
var app = express();
var compression = require('compression');
app.use(compression({
threshold: 0,
level: 9,
memLevel: 9
}));
/**
\* あとは処理を記述していく
\*/
app.get('/', function (req, res) {
// 処理
});
app.listen(3000);
これで実装できます。
これでもうまくいかない場合は、ミドルウェア(app.useの箇所)の記述順序を変えてみてください。他のミドルウェアが導入されている場合、記述の順番によっては動作しないことがあります。
経験上、compressionはapp.useの一番先頭に持ってこないと、うまく動作しないようです。ご注意下さい。
まとめ
Node.jsたのしい。