gpt4 book ai didi

javascript - 在express js 4.4.1中压缩文件(gzip)

转载 作者:太空宇宙 更新时间:2023-11-04 02:49:17 27 4
gpt4 key购买 nike

我使用 Express js 应用程序作为 Web 服务器,但所有静态内容均已解压缩(js 和 css 文件)。我尝试了几种解决方案,例如使用压缩 https://github.com/expressjs/compression但无法得到工作。这是我的做法(仅与压缩使用相关的部分):

var app = module.exports = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(morgan('dev'));

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(cookieParser());

var cacheTime = 86; // 7 days
app.use(compression());
app.use(express.static(__dirname + '/public',{ maxAge: cacheTime }));

http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});

最佳答案

Express 中间件始终按照声明的顺序进行处理。

你有这个:

app.use(express.static(...));
app.use(compression());

这意味着请求首先express.static()处理,当它可以处理这样的请求时,它会立即生成响应,并且该请求永远不会传递给压缩中间件。

如果交换中间件的顺序,如下所示:

app.use(compression());
app.use(express.static(...));

所有请求将首先通过压缩中间件,该中间件将进行设置,以便压缩响应。

关于javascript - 在express js 4.4.1中压缩文件(gzip),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37115234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com