Symfony2.8资产 - 资产版本未应用于网址

时间:2016-11-18 16:56:01

标签: twig symfony assetic

我在这里看到了类似的问题,但没有一个不适合我。 此外,这些是较旧的symfony2版本(不同参数)的旧问题。这也可以在symfony3中发生。

我需要查询版本参数到我的生产JS和CSS资产,以避免使用旧文件。 (由c的用户)现在生成的资产如下所示:

<script type="text/javascript" src="/js/56a0cb5.js"></script>

在我的模板中:

{% javascripts  '@XBundle/Resources/public/js/jquery-1.9.1.min.js' 
                '@XBundle/Resources/public/js/ga.js' 
                '@XBundle/Resources/public/js/somejs.min.js'
                '@XBundle/Resources/public/js/main.js'  %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

现在我还在配置文件according to documentation中添加了一些行:

framework:
    assets:
        version: 'v2'
        version_format: '%%s?ver=%%s'

但我的资产网址看起来仍然一样。

我如何实现这一目标?

<script type="text/javascript" src="/js/56a0cb5.js?ver=v2"></script>

谢谢

1 个答案:

答案 0 :(得分:0)

您可以在框架的模板部分声明版本,如下所示:

framework:
    templating:
        engines: ['twig']
        packages:
            js:
                version: 'v2'
                version_format: '%%s?version=%%s'

在模板中:

{% javascripts  '@XBundle/Resources/public/js/jquery-1.9.1.min.js' 
            '@XBundle/Resources/public/js/ga.js' 
            '@XBundle/Resources/public/js/somejs.min.js'
            '@XBundle/Resources/public/js/main.js' package='js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}