如何使用连接在我的节点服务器上启用 gzip?

How to enable gzip on my node server using connect?

我正在尝试让我的节点服务器 gzip 它给出的响应。我有以下内容:


const connect = require('connect');
const formDataRequests = ['communities/upsert'];
const app = connect();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
...

我做了一些研究(例如 https://alligator.io/nodejs/compression/ ),但这需要并表达应用程序。有谁知道我可以使用哪个模块 import/etc 来 gzip 响应?

根据connect docs,可以使用相同的压缩中间件:

const compression = require('compression');
app.use(compression());

使用压缩中间件

const compression = require('compression');
app.use(compression());

对于服务,节点 gzip 压缩文件使用

app.get('*.js', function (req, res, next) {
    req.url = req.url + '.gz';
    res.set('Content-Encoding', 'gzip');
    res.set('Content-Type', 'text/javascript');
    // console.log('sent')
    next();
});
app.get('*.css', function (req, res, next) {
    req.url = req.url + '.gz';
    res.set('Content-Encoding', 'gzip');
    res.set('Content-Type', 'text/css');
    next();
});

谢谢@jcragun。我们能够使用它:

const compression = require('compression');
app.use(compression());