如何解决Deno-基于文本的资源压缩gzip,deflate或brotli如何在Deno + Oak中执行压缩?
英雄!
我最近开始发现Denoland的迷人世界,同时还使用Oak框架创建了基本API,并提供了一些基本的前端静态内容。 当我开始通过灯塔发现我的应用程序的性能后,我注意到我可以使它在压缩静态内容方面更具性能。
如果我将Node与Express一起使用,我将使用压缩之类的中间件来实现此目标: https://github.com/expressjs/compression
var compression = require('compression')
var express = require('express')
var app = express()
// compress all responses
app.use(compression())
我的问题是,如何使用Deno和Oak实现它?
如果任何人有使用Deno和Oak或其他框架设置压缩中间件的经验,请随时欢迎任何提示。
这是我在Oak中提供静态广告的方式:
// serving static assets
app.use(async (ctx) => {
const filePath = ctx.request.url.pathname;
const fileWhitelist = [
"/","/index.html","/css/styles.c9e67c45d5daceddadc4.css","/js/main.f4a302c245bcbb6d83ea.js","/images/favicon.png","/images/earth-min-desk.jpg","/images/earth-min-tablet.jpg","/images/earth-min-mob.jpg",];
if (fileWhitelist.includes(filePath)) {
await send(ctx,filePath,{
root: `${Deno.cwd()}/public`,index: "index.html",gzip: true,brotli: true,});
}
});
我找到了这个第三方模块: https://deno.land/x/brotli@v0.1.4
不能束手无策如何接线,对我有用吗? :(
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。