Compression Deno-基于文本的资源压缩(gzip、deflate或brotli)。如何在Deno+;橡树

Compression Deno-基于文本的资源压缩(gzip、deflate或brotli)。如何在Deno+;橡树,compression,deno,oak,Compression,Deno,Oak,英雄们 我最近开始发现Denoland迷人的世界,同时使用Oak框架创建基本API,提供一些基本的前端静态内容。 一旦我开始发现我的应用程序是如何通过lighthouse运行的,我就注意到我可以让它更高效地压缩静态内容 如果我将Node与Express一起使用,我将使用类似中间件的压缩来实现这一目标: 我的问题是,我如何用Deno和Oak实现它 如果有人有使用Deno和Oak或其他框架设置压缩中间件的经验,欢迎提供任何提示 这就是我如何使用橡树提供静力学: // serving static

英雄们

我最近开始发现Denoland迷人的世界,同时使用Oak框架创建基本API,提供一些基本的前端静态内容。 一旦我开始发现我的应用程序是如何通过lighthouse运行的,我就注意到我可以让它更高效地压缩静态内容

如果我将Node与Express一起使用,我将使用类似中间件的压缩来实现这一目标:

我的问题是,我如何用Deno和Oak实现它

如果有人有使用Deno和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,
    });
  }
});
我发现这个第三方模块:

我不知道怎么把它连接起来,它对我有用吗(

谢谢大家!

// 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,
    });
  }
});