2017-02-06 66 views
1

我找不到为什么我不能压缩我的内容 我尝试了很多方法,但当我检查卷曲(curl -I -H'接受编码:静态页面的任何方式或基本本地内容(/)我找不到gzip的” http://localhost:8080/free.html)压缩我的内容表达和压缩,找不到我做错了:-(

我是怎么做错 这里是我的代码:?

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);

感谢

葛瑞格尔

回答

1

我还没有想出为什么,但现在看来,如果阈值设置得足够低,也不会对其进行编码。这里有一个例子:

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是默认的。当我测试这个:

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

内容编码头没有设置。当我将它设置为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??-⏎  
+0

您摇滚!正是这一点,加入门槛才是重点!非常感谢你 ! –

相关问题