markstory / mini-asset
一个资产压缩库。提供文件拼接和灵活的过滤系统,用于预处理和压缩。
Requires
- php: >=8.1,<9
- league/climate: ~3.0
Requires (Dev)
Suggests
- matthiasmullie/minify: For using Minify filter.
- natxet/CssMin: For using the CssMin filter.
- oyejorge/less.php: For using the LessDotPHP filter, see https://github.com/oyejorge/less.php
- scssphp/scssphp: For using the ScssPHP filter.
- tchwork/jsqueeze: For using the JSqueeze filter.
- tedivm/jshrink: For using the JShrink filter.
- zendframework/diactoros: The middleware layer relies on zendframework/diactoros.
- 2.x-dev
- 2.1.1
- 2.1.0
- 2.0.0
- 1.12.2
- 1.12.1
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.1
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-master
This package is auto-updated.
Last update: 2024-09-15 16:25:51 UTC
README
Mini Asset 是一个小型库,提供工具来辅助构建资产压缩/优化流水线。它使用基于 INI 的简单配置文件,允许你定义输出文件,这些文件由多个输入文件组成。输入文件可以通过按扩展名或按文件方式处理的过滤器进行处理。过滤器允许你集成现有的预处理器和压缩器或构建自己的。
特性
- 内置对 LESScss、Sass 和 CoffeeScript 的支持,以及多个压缩器。
- 强大的灵活过滤系统,允许你添加自己的压缩器/预处理器。
- 简单的 INI 配置文件。
- 增量构建,无需重新编译不需要的资产。
- 用于构建和清除资产的命令行工具。
安装
使用 composer 将此库添加到您的应用程序中,之后您可以将 MiniAsset 集成到您的应用程序中,并使用提供的 CLI 工具生成资产目标。
php composer.phar require 'markstory/mini-asset'
用法
在 MiniAsset 可以执行任何操作之前,您需要定义一个配置文件来定义您的资产以及应用到的过滤器。例如,我们假设您有一些需要压缩的 CSS 文件。
定义配置文件
在您的应用程序配置目录中创建一个名为 assets.ini
的文件。在这个文件中,我们将放置 MiniAsset 所需的所有配置。我们将在稍后介绍如何使用多个配置文件。假设您的应用程序有一个 app.css
和 reset.css
文件,请在您的配置文件中放置以下内容
[css] cachePath = WEBROOT/cache_css/ paths[] = WEBROOT/css/* filters[] = SimpleCssMin [app.css] files[] = reset.css files[] = app.css
上述假设 WEBROOT
解析为您的应用程序文档根目录。在上面的配置中,我们定义了一些部分。首先,[css]
部分定义了所有 CSS 文件应该如何行为
cachePath
选项告诉 MiniAsset 将生成的资产存储在哪里。paths[]
选项告诉 MiniAsset 在哪里查找 CSS 文件。路径使用 glob 语法。filters[]
选项允许您配置应用到所有 CSS 文件的过滤器。过滤器按定义的顺序应用。
我们还定义了一个 [app.css]
部分。该部分定义了生成 WEBROOT/cache_css/app.css
时使用的文件。我们添加了两个文件。
请参阅示例配置文件以获取注释示例配置文件。
使用 CLI 工具构建您的资产
定义了构建目标后,我们现在可以生成我们的资产。我们可以使用 CLI 工具生成我们的资产
vendor/bin/mini_asset build --config /path/to/assets.ini
上述命令应该会生成输出,表明我们定义的 all.css
文件已编译。如果我们重新运行上述命令,则将跳过 all.css
。MiniAsset 足够智能,知道何时构建目标组件发生变化,并且仅在必要时重新构建文件。
您还可以使用 mini_asset
CLI 工具清除目标
vendor/bin/mini_asset clear --config /path/to/assets.ini
PSR7 中间件
Mini-asset提供了一个PSR7中间件适配器,该适配器实现了在zendframework/zend-stratagility和SlimPHP中找到的模式。在您可以使用mini-asset提供的中间件之前,请确保设置一个包含您资产的配置文件。接下来,将mini-asset集成到您的中间件堆栈中。例如,在SlimPHP应用中,您将执行以下操作:
use MiniAsset\AssetConfig; use MiniAsset\Middleware\AssetMiddleware; $assetConfig = AssetConfig::buildFromIniFile(__DIR__ . '../config/assets.ini'); $assets = new AssetMiddleware($assetConfig); $app->add($assets);
框架集成
- CakePHP - AssetCompress插件。
问题
请将您对插件遇到的问题报告到github问题跟踪器。
许可证
Mini Asset提供MIT许可证。
版权
2010-2018 Mark Story (http://mark-story.com)
作者
请参阅github贡献者列表。
变更日志
请参阅CHANGELOG以获取仅在master
上可用的更改。有关先前版本的变更日志,请参阅github发行版。