expression和压缩,找不到我所犯的错误:-(

我找不到为什么我无法压缩我的内容。 我尝试了很多方法,但是当我在静态页面或基本本地内容(/)上检查curl(curl -I -H'Accept -Encoding: gzip'http:// localhost:8080 / free.html )时,find任何方式来压缩我的内容

我做错了什么? 这是我的代码:

var express = require('express'); var compression = require('compression'); var morgan = require('morgan'); var favicon = require('serve-favicon'); var app = express(); app.use(compression({ filter: function () { return true; } })); app.use(morgan('combined')); app.use(favicon(__dirname + '/public/favicon.ico')); app.use(express.static(__dirname + '/public')); app.get('/', function(req, res) { res.setHeader('Content-Type', 'text/plain'); res.end('Vous êtes à l\'accueil'); }); app.use(function(req, res){ res.send(404); }); app.listen(8080); 

谢谢

格雷瓜尔

我还没有弄明白为什么 ,但似乎如果门槛不够低,它不会编码。 这是一个例子:

 var express = require('express') var app = express() var compression = require('compression') app.use(compression({ threshold: 6 })) // app.use(express.static(__dirname + '/dist')) app.all("/*", function(req, res, next) { res.send('done') }) var server = app.listen(8080) 

文档状态6是默认的。 当我testing这个:

 $ curl -i -H 'Accept-Encoding: gzip' http://localhost:8080 

Content-Encoding标头未设置。 当我将它设置为4或更低的阈值时,它会以编码的内容作出响应:

 HTTP/1.1 200 OK X-Powered-By: Express Content-Type: text/html; charset=utf-8 Vary: Accept-Encoding Content-Encoding: gzip // <—————————— Date: Mon, 06 Feb 2017 20:23:24 GMT Connection: keep-alive Transfer-Encoding: chunked K??K??-⏎