asika/minify

此包已被放弃,不再维护。未建议替代包。

简单的CSS & JS压缩包

1.0.2 2018-12-18 08:32 UTC

This package is auto-updated.

Last update: 2024-06-02 16:45:52 UTC


README

简单的CSS & JS压缩库。

此项目是YUI CSSmin和JShrink的移植版本。

安装

通过Composer

composer require asika/minify

入门

获取Minifier

使用工厂

use Asika\Minifier\MinifierFactory;

$cssMinify = MinifierFactory::create('css');

$jsMinify = MinifierFactory::create('js');

直接创建对象

$minify = new \Asika\Minifier\JsMinifier;

// OR

$minify = new \Asika\Minifier\CssMinifier;

压缩CSS & JS

使用对象

use Asika\Minifier\MinifierFactory;

$minify = MinifierFactory::create($type);

$minify->addFile($path); // Add file path
$minify->addContent($path); // Add text content

// Get minify content
$minify->minify();

// To file
$minify->toFile($minifyFile);

使用静态类处理单个文件

$minified = \Asika\Minifier\JsMinifier::process($fileOrContent);

$minified = \Asika\Minifier\CssMinifier::process($fileOrContent);

移除/*!注释

使用flaggedComments = false选项移除/*!注释

// Add options for every file
$minify->addFile($path, ['flaggedComments' => false]);

// OR

$minify->addContent($content, ['flaggedComments' => false]);

// OR

\Asika\Minifier\JsMinifier::process($fileOrContent, ['flaggedComments' => false]);

// Use constant as key
$minify->addFile($path, [
    \Asika\Minifier\AbstractMinifier::FLAGGED_COMMENTS => false
]);

重写CSS文件中的url(...)

为每个文件添加uri_rewrite选项

// This css in HTML is `{PUBLIC_ROOT}/foo/bar/yoo.css`

$minify->addFile(
    $file,
    [
        'uri_rewrite' => [ // OR \Asika\Minifier\CssMinifier::URI_REWRITE
            'current_dir' => 'foo/bar/yoo.css',
            'doc_root' => $_SERVER['DOCUMENT_ROOT'] // [Optional]
        ]
    ]
);

或使用UriRewriter类重写CSS内容

$css = \Asika\Minifier\CSS\UriRewriter::rewrite(
	$content,
	'foo/bar/yoo.css'
);