通过 Assetic 参数化 url 清除资产缓存
Asset cache busting by parametrized url with Assetic
如何在 Symfony 3.2 中通过 Assetic 配置资产版本控制?
在 Symfony 2 中,这可以通过在 framework:templating
中配置包版本来实现,但在 3.
中不再如此
我试过使用以下配置:
framework:
assets:
packages:
css:
version: '2'
version_format: '%%s?version=%%s'
在模板中使用时:
{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" package="css" %}
<link rel="stylesheet" href="{{ asset(asset_url) }}">
{% endstylesheets %}
不幸的是,这不会将版本参数附加到资产 url,尽管 Symfony 关于资产的官方文档 suggests。
从未使用过 "sub packages",尝试不使用:
parameters:
app_version: 1.0.0
framework:
assets:
version: '%app_version%'
version_format: '%%1$s?%%2$s'
base_urls: ['%your_assets_urls%']
经过进一步研究,我设法解决了这个问题:
调用 asset() 函数时需要指定包名,例如:
{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" %}
<link rel="stylesheet" href="{{ asset(asset_url, 'css') }}">
{% endstylesheets %}
包名“css”需要在config中定义:
framework:
assets:
packages:
css:
version: '2'
version_format: '%%s?version=%%s'
如何在 Symfony 3.2 中通过 Assetic 配置资产版本控制?
在 Symfony 2 中,这可以通过在 framework:templating
中配置包版本来实现,但在 3.
我试过使用以下配置:
framework:
assets:
packages:
css:
version: '2'
version_format: '%%s?version=%%s'
在模板中使用时:
{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" package="css" %}
<link rel="stylesheet" href="{{ asset(asset_url) }}">
{% endstylesheets %}
不幸的是,这不会将版本参数附加到资产 url,尽管 Symfony 关于资产的官方文档 suggests。
从未使用过 "sub packages",尝试不使用:
parameters:
app_version: 1.0.0
framework:
assets:
version: '%app_version%'
version_format: '%%1$s?%%2$s'
base_urls: ['%your_assets_urls%']
经过进一步研究,我设法解决了这个问题: 调用 asset() 函数时需要指定包名,例如:
{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" %}
<link rel="stylesheet" href="{{ asset(asset_url, 'css') }}">
{% endstylesheets %}
包名“css”需要在config中定义:
framework:
assets:
packages:
css:
version: '2'
version_format: '%%s?version=%%s'