flownative / image-optimizer

基于媒体类型全局优化资源。

v0.5.0 2024-02-09 19:54 UTC

This package is auto-updated.

Last update: 2024-09-09 21:26:48 UTC


README

MIT license Packagist Maintenance level: Friendship

Flownative ImageOptimizer

使用低级资源发布目标,利用二进制工具(例如:图像优化)来优化资源。

安装

composer require flownative/image-optimizer

使用

参见 Configuration/Settings.yaml.example

基本上,您可以将此配置为主发布目标,但实际目标位于其上方。

ImageOptimizerTarget 会简单地接受通过它发布的任何图像,检查媒体类型是否与配置中的一个匹配,如果是,则优化图像(尽力而为,因此如果工具后的文件大小大于原始文件,则使用原始文件作为优化文件。)URL 将始终指向优化后的图像。

媒体类型的配置包含一个用于文件优化工具的 binaryPath 以及作为 EEL 表达式评估的 arguments,其中包含两个变量可用

  • originalPath - 带有原始文件的临时文件路径
  • optimizedPath - 写入优化文件的临时文件路径

如果需要在其他位置进行优化,可以使用 OptimizationService。它将返回一个优化后的 PersistentResource 对象,该对象可能具有与给定输入流相同的二进制内容。