- Koa.js 教程
- Koa.js - 首頁
- Koa.js - 概述
- Koa.js - 環境
- Koa.js - Hello World
- Koa.js - 生成函式
- Koa.js - 路由
- Koa.js - URL 構建
- Koa.js - HTTP 方法
- Koa.js - 請求物件
- Koa.js - 響應物件
- Koa.js - 重定向
- Koa.js - 錯誤處理
- Koa.js - 級聯
- Koa.js - 模板
- Koa.js - 表單資料
- Koa.js - 檔案上傳
- Koa.js - 靜態檔案
- Koa.js - Cookie
- Koa.js - 會話
- Koa.js - 身份驗證
- Koa.js - 壓縮
- Koa.js - 快取
- Koa.js - 資料庫
- Koa.js - RESTful API
- Koa.js - 日誌記錄
- Koa.js - 腳手架
- Koa.js - 資源
- Koa.js 實用資源
- Koa.js - 快速指南
- Koa.js - 實用資源
- Koa.js - 討論
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);
這將使用我們的壓縮中介軟體。filter 選項是一個用於檢查響應內容型別來決定是否壓縮的函式。threshold 選項是要壓縮的最小響應大小(以位元組為單位)。這確保我們不會壓縮每一個小響應。
以下是未壓縮的響應。
以下是使用壓縮的類似響應。
如果您檢視底部的 size 標籤,您便可以非常直觀地看到兩者之間的差別。當我們壓縮檔案時,改善幅度超過 150%。
廣告