nsrosenqvist/phulp-assetic

phulp 的 Assetic 资产处理器插件

1.0.1 2018-09-06 16:04 UTC

This package is auto-updated.

Last update: 2024-09-05 18:44:29 UTC


README

这是一个第三方项目,它包装了 Assetic,以便您可以在 Phulp 流中利用其文件处理功能。

安装

composer require nsrosenqvist/phulp-assetic

用法

<?php

use NSRosenqvist\Phulp\Assetic;

$phulp->task('styles', function ($phulp) {
    $phulp->src(['assets/styles/'], '/scss$/')
        ->pipe(new Assetic([
            new \Assetic\Filter\ScssphpFilter,
            new \Assetic\Filter\CssMinFilter,
        ], 'theme.css')) // <!---
        ->pipe($phulp->dest('dist/styles/'));
});

第一个参数是要在文件上运行的过滤器的数组。如果第二个参数传递一个字符串,则所有文件将连接并批量处理。如果省略第二个参数,则所有过滤器将单独运行在每个文件上。

通过在自执行函数中创建它,可以轻松地自定义过滤器实例。数组中不是 \Asset\Filter\FilterInterface 类型的任何元素都将被忽略。

<?php

use NSRosenqvist\Phulp\Assetic;

$phulp->src(['assets/images/'], '/jpg$/')
    ->pipe(new Assetic((function() {
        if ($bin_path = shell_exec('which jpegoptim') ?: false) {
            $jpegoptim = new \Assetic\Filter\JpegoptimFilter($bin_path);
            $jpegoptim->setMax(85);
            return $jpegoptim;
        }
      })()))
      ->pipe($phulp->dest('dist/images/'));
});

许可

MIT