m1/twig-asset-rev-extension

Twig Asset Rev Extension 添加了一个 asset_rev twig 过滤器,允许您从文件中使用资产版本控制,非常适合与 gulp-rev 或 grunt-rev 一起使用

1.1.1 2017-01-09 10:17 UTC

This package is auto-updated.

Last update: 2024-09-21 20:36:05 UTC


README

Author Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Twig Asset Rev Extension 添加了一个 asset_rev twig 过滤器,以便您可以从文件中使用资产版本控制,非常适合与 gulp-rev/gulp-rev-allgrunt-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-revgulp-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)。有关更多信息,请参阅许可文件