javascript - Expressjs 静态压缩不是压缩 css 或 Javascript

标签 javascript node.js express http-headers gzip

我有以下用 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');

然而,当我的 index.html 页面被压缩后,link 文件或 script 文件都不是(例如css 或 js 文件):

Chrome Audits Tab

我这里有什么地方做错了吗?

谢谢。

最佳答案

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

Express JS compressed and uncompressed css files

如您在屏幕截图中所见,只有大型 CSS 文件被压缩。较小的单独留下。在你问之前,是的,所有文件都是从公共(public)文件夹而不是 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
}));

关于javascript - Expressjs 静态压缩不是压缩 css 或 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39162876/

相关文章:

javascript - 3个按钮之间的交互

javascript - 在我自己的服务器上进行非常简单的身份验证,可以吗?

javascript - 在 select2 多选中显示单独的搜索框

node.js - Mongoose 与 MongoDB Atlas 返回空数组

javascript:如何在变量内调用变量实例?

node.js - Conda 没有识别出我安装了 Node ?

javascript - 在 GridFS 中显示图像

html - 如何将表单的复选框分组到 Node 中的数组中?

javascript - Route.get() 需要回调函数,但得到了一个 [object Promise]

javascript - nodejs expressjs 上传图片并显示