vinorcola / distant-versioned-assets-bundle
通过加载manifest.json文件来使用远程版本化资产。
v1.0.0
2018-08-06 08:41 UTC
Requires
- php: ^7.1
- psr/cache: ^1.0
- symfony/config: ^4.0
- symfony/dependency-injection: ^4.0
- symfony/http-kernel: ^4.0
- twig/twig: ^2.0
This package is auto-updated.
Last update: 2024-09-07 15:28:15 UTC
README
跨项目链接版本化资产。
如果你的应用程序需要使用来自远程源的一些资产,并且这些资产是版本化的,你可以使用此包来链接它们。唯一的要求是远程源发布一个 manifest.json
文件。
你可以配置多个目标(即远程源)
安装
composer require vinorcola/distant-versioned-assets-bundle
配置
你必须配置至少一个目标。
# config/packages/vinorcola_distant_versioned_assets.yaml vinorcola_distant_versioned_assets: targets: default: url: https://my-distant-storage.com manifestPath: build/manifest.json # Optional, default value cacheTtl: 3600 # Optional, default value
清单路径是可选的,默认为 build/manifest.json
。清单文件将被获取,其内容将被缓存,以避免每次请求都查询远程源。你可以配置缓存TTL(默认为1小时)。
使用方法
然后,在Twig模板中,你可以简单地使用 distantAsset
函数而不是 asset
函数。
<link href="{{ distantAsset('build/style.css) }}" rel="stylesheet" /> <script src="{{ distantAsset('build/library.js') }}"></script>
高级使用
如果需要,你可以配置多个目标。
# config/packages/vinorcola_distant_versioned_assets.yaml vinorcola_distant_versioned_assets: targets: default: url: https://my-distant-storage.com reference: url: https://my-reference-storage.com
<script src="{{ distantAsset('build/library.js') }}"></script> {# Uses the default target. #} <script src="{{ distantAsset('build/library.js', 'reference) }}"></script> {# Uses the reference target. #}
如果你没有名为 default
的目标,你必须指定默认目标
# config/packages/vinorcola_distant_versioned_assets.yaml vinorcola_distant_versioned_assets: defaultTarget: storage targets: storage: url: https://my-distant-storage.com reference: url: https://my-reference-storage.com
请注意,如果你只有一个目标,不需要配置 defaultTarget
选项,无论目标名称是什么。