Expressjs静态压缩不gzipping css或Javascript

Jon*_*tom 5 javascript gzip http-headers node.js express

我有以下用 Expressjs 编写的简单服务器

'use strict';
var express = require('express');
var app = express();
var compression = require('compression');

app.use(compression());
app.listen(process.env.PORT || 3030);
app.use(express.static(__dirname + '/_site', {
  maxAge: '365d' 
}));
console.log('server running');
Run Code Online (Sandbox Code Playgroud)

但是,虽然我的index.html页面经过 gzip 压缩,但没有任何link'ed 文件或script文件(例如 css 或 js 文件):

Chrome 审核选项卡

我在这里做错了什么吗?

谢谢。

Ben*_*ong 1

我也遇到过这个,也许这可能来得有点晚了,但还是这样。似乎是这样的,压缩似乎只适用于特定大小的文件,这是有意义的,因为有些文件不值得花时间这样做。

Express JS 压缩和未压缩的 css 文件

正如您在屏幕截图中看到的那样,只有大 CSS 文件被压缩。较小的则被单独留下。在你问之前,是的,所有文件都是从公共文件夹而不是 CDN 提供的。

我的代码:

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

// Compress content
app.use(compression({
    level: 9,
    memLevel: 9
}));
Run Code Online (Sandbox Code Playgroud)