Gzip
使用 gzip 算法压缩文件
配置参数
- extensions string[] *
The list of extensions this plugin applies to
Default:[ ".html", ".css", ".js", ".mjs", ".svg", ".json", ".xml", ".txt" ]
Gzip 是一种文件格式,可被 Web 服务器和 CDN 用于压缩 HTTP 内容。
此插件会创建文件的预压缩版本。例如,除了 /index.html
之外,它还会创建一个压缩版本 /index.html.gz
。
安装
在你的 _config.ts
文件中导入此插件以使用它:
import lume from "lume/mod.ts";
import gzip from "lume/plugins/gzip.ts";
const site = lume();
site.use(gzip());
export default site;
默认情况下,仅压缩某些基于文本的格式,如 .html
、.css
、.js
、.svg
、.json
等。 像图片或视频这样的二进制文件不会被压缩,因为它们大多数都有自己的压缩方式。 使用 extensions
选项来配置你想要压缩的文件扩展名:
site.use(gzip({
extensions: [".html", ".css"],
}));
如何提供预压缩文件
如果你使用 Deno Deploy,你可以使用 precompress 中间件,它会在 .br
版本可用且浏览器支持的情况下自动提供 .br
版本。
许多其他 Web 服务器也具有提供预压缩文件的选项,例如 Nginx、Caddy,或者像 Hono、Fastify 或 Koa 这样的框架。