m1/ twig-asset-rev-extension
Twig Asset Rev Extension 添加了一个 asset_rev twig 过滤器,允许您从文件中使用资产版本控制,非常适合与 gulp-rev 或 grunt-rev 一起使用
Requires
- php: >=5.3.0
- twig/twig: ~1.2
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-09-21 20:36:05 UTC
README
Twig Asset Rev Extension 添加了一个 asset_rev
twig 过滤器,以便您可以从文件中使用资产版本控制,非常适合与 gulp-rev
/gulp-rev-all
或 grunt-rev
一起使用和测试
要求
TwigAssetRevExtension
需要 PHP 版本 5.3+
。
安装
通过 Composer
$ composer require m1/twig-asset-rev-extension
用法
TwigAssetRevExtension
与其他 twig 扩展类似,只需使用 $twig->addExtension()
添加扩展即可。
Use \M1\TwigAssetRevExtension\TwigAssetRevExtension; $assets = json_decode(file_get_contents('rev-manifest.json'), true); $asset_rev = new TwigAssetRevExtension($assets); $twig->addExtension($asset_rev);
example.twig
:
<link href='{{"css/app.css"|asset_rev}}' rel='stylesheet'>
rev-manifest.json
:
{ "css/app.css": "css/app.bd6efcb01bc3.css", "css/app.min.css": "css/app.min.9f8d3d255c1f.css", }
Symfony 用法
您可以通过 app/config/services.yml
自动在 Symfony 中注册扩展。
twig.extension.asset_rev: class: M1\TwigAssetRevExtension\TwigAssetRevExtension arguments: [ "%kernel.root_dir%/../web/js/manifest.json", false ] tags: - { name: twig.extension }
设置
new TwigAssetRevExtension(mixed $assets [, bool $minified = true ] )
参数
assets
JSON 文件的路径,或资产和版本化资产的数组,例如
array( "css/app.css" => "css/app.bd6efcb01bc3.css", "css/app.min.css" => "css/app.min.9f8d3d255c1f.css", "js/app.admin.js" => "js/app.admin.96b3cc15df52.js", "js/app.admin.min.js" => "js/app.admin.min.dbdc6d8e2114.js", "js/app.admin.plugins.js" => "js/app.admin.plugins.927a9b50dd18.js", "js/app.admin.plugins.min.js" => "js/app.admin.plugins.min.283a1a903f4a.js", "img/image-jpg.jpg" => "img/image-jpg.219a48cfe072.jpg", "img/image-png.png" => "img/image-png.1691620d298a.png", "img/image-gif.gif" => "img/image-gif.bcd9f17c5cf8.png" )
如果使用 gulp-rev
或 gulp-rev-all
,则此为 rev-manifest.json
的内容 - 使用 json_decode(file_get_contents('rev-manifest.json'), true);
解析 JSON 文件。您可能需要缓存此结果,以免每次请求都要读取文件。
minified
当设置为 true
时,这意味着如果可用,TwigAssetRevExtension
将返回压缩后的资产。Twig 调试模式或 Silex 调试模式会覆盖此设置,在开发中不会返回压缩后的资产。
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
贡献
安全性
如果您发现任何与安全相关的问题,请通过电子邮件hello@milescroxford.com联系,而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅许可文件。