【发布时间】:2016-06-29 16:44:41
【问题描述】:
我正在为我的 app.js 使用 express 版本 4.13.4 和以下代码。我尝试更改 app.use(compression()) 的位置,但没有显示任何效果。当我运行应用程序时,我在查看 chrome 开发工具响应标头时没有看到任何压缩证据,即它没有 gzip 内容编码标头。
我是节点 js 的新手。我想 gzip 压缩我对浏览器的响应。请帮我解决这个问题。
var compression = require('compression')
var express = require('express');
var http = require('http');
var app = express();
app.use(compression());
var settings = {
UiServerPort: 8080,
ApiServerHost: "localhost",
ApiServerPort: 12121
};
app.use('/ui', express.static('ui'));
app.all('/api/*', function (req, res) {
var options = {
host: settings.ApiServerHost,
port: settings.ApiServerPort,
path: req.url.substring(4),
method: 'POST'
};
var requestData = '';
req.on('data', function (data) { requestData += data; });
req.on('end', function () {
var request = http.request(options, function (response) {
var responseData = '';
res.flush();
response.on('data', function (data) { responseData += data; });
response.on('end', function () {
res.statusCode = response.statusCode;
res.write(responseData);
res.end();
});
});
request.write(requestData);
request.end();
});
});
app.listen(settings.UiServerPort)
【问题讨论】:
-
谁能帮我解决这个问题?我还没有收到任何答复。谢谢
标签: node.js express compression gzip http-compression