资产缓存通过参数化网址使用Assetic进行破坏

时间:2017-04-13 17:12:28

标签: symfony assetic symfony-3.2

如何在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 %}

不幸的是,这并没有将版本参数附加到资产网址,尽管Symfony有关资产的官方文档suggests

2 个答案:

答案 0 :(得分:0)

从未使用过“子包”,请不要尝试:

string.Compare

答案 1 :(得分:0)

经过一番深入研究后,我成功解决了这个问题: 在调用asset()函数时,需要指定包名称,如下所示:

def function1(obj:Any)={

obj match {


        case l:List[Map[String,Any]]=> {
          println("ListMap" + l.toString())
        }
        case l:List[String]=> {
          println ("list String" + l)
        }
        case None =>
      }
}

包名称“css”需要在config中定义:

{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" %}
     <link rel="stylesheet" href="{{ asset(asset_url, 'css') }}">
{% endstylesheets %}