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
选项以及 compress
和 mangle
选项默认设置为 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>