Terser

使用 Terser 压缩 JavaScript 文件。

配置参数

extensions string[]

The list of extensions this plugin applies to

Default:
[ ".js" ]
options object

Options passed to terser

See https://terser.org/docs/api-reference/#minify-options

Default:
{ module: true, compress: true, mangle: true }

描述

Terser 插件使用 Terser 压缩器 压缩 .js 文件。

为了解决在 Deno 中使用 NodeJS 软件的兼容性问题,它使用了浏览器版本。

安装

在你的 _config.ts 文件中导入此插件以使用它:

import lume from "lume/mod.ts";
import terser from "lume/plugins/terser.ts";

const site = lume();

site.use(terser(/* 选项 */));

export default site;

用法

它假设要压缩的文件是模块,因此 module 选项以及 compressmangle 选项默认设置为 true。 你可以通过在 use 函数的 options 对象中传递包含所需 Terser 选项的对象来覆盖此设置:

import terser from "lume/plugins/terser.ts";

site.use(terser({
  options: {
    module: false,
  },
}));

也可以设置其他压缩选项,但与文件系统相关的选项则不能。 压缩后的文件与其输入文件同名,并位于相同的目录结构中。 另请注意,选项应用于所有文件;你不能对某些文件使用不同的选项,而对其他文件不使用。

terser 过滤器

除了 JavaScript 加载器和处理器之外,此插件还注册了 terser 过滤器,以便你可以在模板引擎中转换 JavaScript 代码。 例如:

{{ set js }}
  console.log("你好,JavaScript 世界!");
{{ /set }}

<script type="module">
  {{ js |> terser }}
</script>