2017-08-06 48 views
0

我有這段代碼;如何在express中壓縮fs.createReadStream

const express = require('express') 
const compression = require('compression') 
const app = express() 
const fs = require('fs'); 
const path = require('path'); 
const port = process.env.PORT || 3003; 

app.use(compression()) 
app.use('/public', express.static('public')); 

app.get('/', (req, res) => { 
    fs.createReadStream(__dirname + '/public/src/index/index.html').pipe(res); 
}); 

app.listen(port,() => { 
    console.log(`Portfolio listening on port ${port}`) 
}) 

在鉻開發工具被請求在index.htmlapp.js文件gzip壓縮,但該第一文件(index.html在上面的代碼稱爲)不是。

如何在流式傳輸之前壓縮index.html文件?

+1

我認爲使用壓縮中間件應該已經照顧那個。你如何驗證壓縮失蹤? – jsalonen

+0

在chrome開發工具中,index.html文件的內容編碼爲空,但表示JS文件爲gzip。 – leonormes

回答

1

如何使用zlib模塊:

fs.createReadStream(__dirname + '/public/src/index/index.html') 
    .pipe(zlib.createGzip()) 
    .pipe(res);