2015-07-03 105 views
1

我需要管理我的JavaScript文件版本,以避免用户使用过时的文件。Symfony2:资产版本与资产

我我的配置文件,我定义为:

assets_version: v2.1 

它运作良好,当我使用:

<script type="text/javascript" 
src="{{ asset('bundles/mybundle/js/my_js.js') }}"></script> 

但是,如果我还需要使用JavaScript的标签,如:

{% javascripts 
'bundles/my_bundle/js/js1.js' 
'bundles/my_bundle/js/js2.js' 
%} 
<script type="text/javascript" src="{{ asset_url }}"></script> 
{% endjavascripts %} 

但是,然后版本不适用。还试过:

<script type="text/javascript" src="{{ asset(asset_url) }}"></script> 

但是,这复制了文件的基本路径。有什么好办法做到这一点?

回答

1

使用:

{% javascripts 
    'bundles/my_bundle/js/js1.js' 
    'bundles/my_bundle/js/js2.js' 
%} 
<script type="text/javascript" src="{{ asset_url }}"></script> 
{% endjavascripts %} 

您需要使用生产控制器(app.php)(不调试)看到附加的资产版本。 (你必须甩掉你的资产太)

<script type="text/javascript" src="http://assets2.yoursite.com/js/youjs.js?v2.1"></script> 

在开发模式下,你可能有这样的事情:

<script type="text/javascript" src="/app_dev.php/js/js1.js"></script> 
<script type="text/javascript" src="/app_dev.php/js/js2.js"></script> 
+0

你的意思是用<脚本类型= “文/ JavaScript的” SRC =“{{ASSET_URL }}“>? – Rolintocour

+0

没有..使用app_dev.php(开发模式)或app.php控制器。 (prod模式) – COil

+0

我修改了我的答案。 – COil