探索 Koajs 的 `compress` 中间件:高效静态文件压缩的秘诀
const Koa = require('koa');
const compress = require('koa-compress');
const serve = require('koa-static');
const path = require('path');
const app = new Koa();
// 使用 `koa-compress` 中间件来压缩响应体
app.use(compress({
filter: function(content_type) {
return /text/i.test(content_type); // 压缩 text 类型的响应
},
threshold: 2048, // 响应体大于 2kb 时压缩
flush: require('zlib').Z_SYNC_FLUSH
}));
// 使用 `koa-static` 中间件来提供静态文件服务
app.use(serve(path.join(__dirname, 'public')));
app.listen(3000);
console.log('Server listening on port 3000');
这段代码创建了一个简单的Koa服务器,使用了koa-compress
中间件来压缩文本类型的响应体,并且响应体的大小大于2KB时才会进行压缩。同时,它使用koa-static
来提供一个静态文件服务,服务的目录为代码所在目录的public
子目录。这个例子展示了如何在实际应用中使用这两个常用的Koa中间件,并且提供了一个简单的参考实现。
评论已关闭