2014-04-21 26 views
1

我的Symfony2项目有一个AssetBundle其中包含一个图像,位于/Bundle/AssetBundle/Resources/images/logo.svg为什么资产在开发中生成我的资产的多个副本?

这是我的观点一个参考:

{% image '@AssetBundle/Resources/images/logo.svg' %} 
    <img src="{{ asset_url }}" width="130" /> 
{% endimage %} 

但是运行php app/console assetic:dump的时候,我结束了我的标志的两个相同的版本在/web/images文件夹:

/web/images/3cf3f78.svg 

/web/images/3cf3f78_logo_1.svg 

这不发生在我的生产环境中,那么为什么它在开发中是必要的?我加载的视图只使用后者。

+0

你在'dev'和'prod'环境有这个? –

+0

@ n.1谢谢,原来它只发生在我的'dev'环境中。我仍然感兴趣为什么这个重复是必要的,所以我更新了我的问题。 – Jonathan

回答

0

我知道这是一个老问题,但我花了几个小时试图解决同样的问题。我的Symfony项目使用多个插入Assetic的包,因此我检查了每个包是否有重复资产的错误。那么,我终于得出了和你一样的结论 - AsseticBundle就是这么做的,而且是按照设计进行的。虽然我不同意它背后的原因,但直接从Symfony文档中获取:

在开发环境中,每个文件仍然单独提供,以便您可以更轻松地调试问题。但是,在产品环境中(或者更具体地说,当调试标志为false时),这将作为单个脚本标签呈现,其中包含所有JavaScript文件的内容。

Combining Assets in Symfony

相关问题