我的应用程序中有以下中间件:
app.use(express.favicon(__dirname + '/static/public/images/favicon.ico')); app.use(express.compress()); app.use(express.json()); app.use(express.urlencoded()); app.use(express.cookieParser('SECRET!')); app.use(express.static(__dirname + config.static_path, {maxAge: 365 * 86400000})); app.use(express.session({secret: 'SECRET!'})); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router);
标题示例:
但静态内容不会压缩.可能是什么问题呢?
静态内容可能无法压缩的原因有以下几种:
express.compress
保持最小文件大小阈值; 大小低于此阈值的文件(默认值:1024字节)将不会被压缩;
express.compress
还维护内容类型的白名单以进行压缩; 如果你要提供的内容类型不在该列表中的文件,它也不会被压缩;
修理:
app.use(express.compress({ threshold : 0, // or whatever you want the lower threshold to be filter : function(req, res) { var ct = res.get('content-type'); // return `true` for content types that you want to compress, // `false` otherwise ... } }));
(作为参考,这是使用的默认过滤功能)