资产申请


用于CraftCMS的Twig扩展,可帮助您使用可配置策略缓存您的资产。

为什么?

为了加快页面的加载时间,您可以在图像,样式表和脚本上设置远期过期标头。但是,当您更新这些资产时,您需要更新其文件名以强制浏览器下载更新版本。

使用清单文件是推荐的方法 - 您可以阅读为什么使用查询字符串不是理想的这里

策略

此插件允许您为资产文件名配置多个缓存破坏策略。插件配备了三个策略:

清单文件

CSS / main.css.将替换为您的资产中定义的相应散列文件名.JSON文件.JSON文件。

如果清单文件的内容是...

{“CSS / main.css”:“css / main.a9961d38.css”,“js / main.js”:“js / main.786087f5.js”}

然后Rev('css / main.css')将扩展到CSS / main.a9961d38.css.

请求参数

将查询字符串附加到您的文件中,基于上次修改的时间。例如:Rev('css / main.css')将扩展到类似的东西CSS / main.css?1473534554

普通话

返回原始文件名,无需修改。如果所有其他缓存破坏策略失败,这很有用。

战略管道

管道允许您按顺序尝试多次缓存破坏策略。如果一个策略失败,则该插件可以继续使用管道中的下一个策略尝试和缓存资产文件名。

默认管道是清单| Querystring |泛施还会:

  1. 试图使用ManifestFiLestrategy.。如果不能,因为清单文件不存在,它会抛出一个继续Xpeption.这缺少缓存破坏管道中的下一个策略......
  2. 试图使用querystringstrategy.。如果不能,因为它找不到资产文件,它将抛出另一个继续Xpeption.将缓存破坏到最终的默认策略......
  3. 使用基于闭合的传递策略返回原始文件名。

需要提供自己的缓存破坏逻辑?只需创建自己的策略类的实现,或在配置文件中定义一个关闭。

安装

通过Craft 3安装或使用Composer安装插件存储:作曲家要求ClubStudioltd / Craft-Asset-Rev

配置

插件配有config.php.定义某些明智默认值的文件。

如果要设置自己的值,则应创建一个assetrev.php.文件在Craft Config目录中。此文件的内容将与插件默认合并,因此您只需要指定要覆盖的设置的值。

策略

策略您是否定义了您想要尝试重新调整资产文件名的策略。您可以提供实现的类的名称StrategyContact.或自定义关闭。默认值应该满足大多数要求。

管道

管道允许您设置您想要在重新扫描资产文件名时尝试的配置策略的顺序。默认值:清单| Querystring |泛施对于大多数用例应该足够。

明文

宣言工艺应该寻找清单文件的地方。非绝对路径将相对于工艺安装的基础路径(无论如何craft_base_path.设定为)。

资产基础路径

AssetsBasePath.是您资产的基础路径。同样,这是相对于您的工艺基础目录,除非您提供绝对目录路径。

资产URL前缀

AsseturlPrefix.将被前往输出rev()

笔记:您可以使用您在您的任何环境变量中使用一般.php.配置文件中的任何一个配置值。

示例配置文件

<?php返回阵列('*'=>数组('策略'=> ['incomest'=> \ club \ sassetrev \ utilities \ staringies \ manifestfilestrategy :: class,'querystring'=> \ club \ Assetrev \ Utilities \策略\QueryStringStrategy::class, 'passthrough' => function ($filename, $config) { return $filename; }, ], 'pipeline' => 'manifest|querystring|passthrough', 'manifestPath' => 'resources/assets/assets.json', 'assetsBasePath' => '../public/build/', 'assetUrlPrefix' => '{baseUrl}', ), );

用法

启动并配置后,您可以使用rev()在模板中的函数。

<链接rel =“styleSheet”href =“{{verv('css / main.css')}}”>>>>>>>

自定义策略

需要提供自己的缓存破坏逻辑?创建自己的策略课程或只是使用关闭。

示例策略类

<?php命名空间您的\命名空间;使用Club \ Assetrev \ Utilities \策略;使用Club \ Assetrev \异常\ ContinueException;类QueryStringStrategy扩展策略{公共函数Rev($ filename){//添加您的逻辑来操作$ filename ...返回$ filename;}}

闭包

您的方法可以访问资产文件名和插件配置阵列。

函数($ filename,$ config){//添加您的逻辑来操作$ filename ...返回$ filename;}

自由

包裹名字

要安装此插件,请在插件存储上搜索其包名称,然后单击“安装”。


信息

  • 版本6.0.2
  • 最后更新11/20/2018
  • 主动安装7,986
  • 兼容性工艺3.
  • 执照麻省理工学院
  • 类别表现资产公用事业

报告问题