Koajs-compression

提供:Dev Guides
移動先:案内検索

Koa.js-圧縮

圧縮は、帯域幅を節約してサイトを高速化するためのシンプルで効果的な方法です。 最新のブラウザとのみ互換性があり、ユーザーがレガシーブラウザも使用する場合は注意して使用する必要があります。

サーバーから応答を送信するときに、圧縮を使用すると、ロード時間を大幅に改善できます。 koa-compress というミドルウェアを使用して、ファイルの圧縮と適切なヘッダーの設定を行います。

先に進み、ミドルウェアをインストールします-

$ npm install --save koa-compress

今app.jsファイルで、次のコードを追加します-

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var Pug = require('koa-pug');
var pug = new Pug({
   viewPath: './views',
   basedir: './views',
   app: app//Equivalent to app.use(pug)
});

app.use(compress({
   filter: function (content_type) {
      return/text/i.test(content_type)
   },
   threshold: 2048,
   flush: require('zlib').Z_SYNC_FLUSH
}));

var _ = router();//Instantiate the router

_.get('/', getRoot);

function *getRoot(next){
   this.render('index');
}

app.use(_.routes());//Use the routes defined using the router
app.listen(3000);

これにより、圧縮ミドルウェアが配置されます。 フィルターオプションは、応答のコンテンツタイプをチェックして圧縮するかどうかを決定する機能です。 しきい値オプションは、圧縮するバイト単位の最小応答サイズです。 これにより、小さな応答がすべて圧縮されることはありません。

以下は、圧縮なしの応答です。

非圧縮

以下は、圧縮を使用した同様の応答です。

圧縮

下部のサイズタブを見ると、2つの違いがよくわかります。 ファイルを圧縮すると、150%以上の改善があります。