avholodnyak / assets-buster-bundle
此包提供使用buster文件进行缓存破坏的支持。它使用在Symfony 3.1中引入的自定义版本策略功能。
v1.0.0
2016-12-26 13:17 UTC
Requires
- symfony/asset: ^3.1
- symfony/config: ^3.1
- symfony/dependency-injection: ^3.1
- symfony/http-kernel: ^3.1
Requires (Dev)
- doctrine/annotations: ^1.3
- phpunit/phpunit: ^5.7
- satooshi/php-coveralls: ^1.0
- symfony/framework-bundle: ^3.1
- symfony/templating: ^3.1
- symfony/translation: ^3.1
- symfony/twig-bundle: ^3.1
This package is not auto-updated.
Last update: 2024-09-28 19:58:08 UTC
README
当您编写前端应用程序时,您通常需要更新客户端的缓存资源。此包提供您使用buster文件更新缓存资源的能力(您可以使用gulp-buster包生成这些文件)。
此包使用在Symfony 3.1中引入的自定义版本策略功能。在创建此包时,我受到了这篇文章的启发。
安装
使用composer安装包
$ composer require avholodnyak/assets-buster-bundle
然后,将包添加到项目中的app/AppKernel.php文件中已注册的包列表以启用它
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new AVHolodnyak\AssetsBusterBundle\AssetsBusterBundle(), ); }
然后,在您的app/config/config.yml文件中配置包
assets_buster: # Absolute path to the busters file busters_path: "%kernel.root_dir%/../web/busters.json" # (Optional) Version format (sprintf-compatible format string). Default value is "%%s?%%s" version_format: "%%s?v=%%s"
如何使用
只需使用标准的symfony asset()函数为Twig模板(或PHP模板中的$view["assets"]->getUrl()),将自动附加资源文件的版本。如果您不想附加资源文件的版本,则不要将相应的版本放入busters文件中。
以下是如何使用此包与Twig模板一起使用的示例
<link rel="stylesheet" href="{{ asset('js/example-script.js') }}">
默认情况下,此包使用"%s?%s"版本格式。如果busters文件中找到相应的版本,则将其附加到结果资源路径
<link rel="stylesheet" href="/js/example-script.js?cc1d8837ebc45c34f9e35217db1d2a7e">
如果busters文件中没有找到版本,则不会将任何内容附加到结果路径
<link rel="stylesheet" href="/js/example-script.js">
您可以通过更改配置文件中的version_format选项来更改此包附加资源文件版本的方式(见上面的安装部分)。