Javascript symfony内嵌资产与资产
我有以下基于Symfony2文档的代码:Javascript symfony内嵌资产与资产,javascript,css,symfony,assets,assetic,Javascript,Css,Symfony,Assets,Assetic,我有以下基于Symfony2文档的代码: {% block javascripts %} {% javascripts filter="?jsqueeze" output="js/app.js" "%kernel.root_dir%/Resources/assets/js/one.js" "%kernel.root_dir%/Resources/assets/js/two.js" %} <sc
{% block javascripts %}
{% javascripts filter="?jsqueeze" output="js/app.js"
"%kernel.root_dir%/Resources/assets/js/one.js"
"%kernel.root_dir%/Resources/assets/js/two.js" %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{%block javascripts%}
{%javascripts filter=“?jsqueeze”output=“js/app.js”
“%kernel.root\u dir%/Resources/assets/js/one.js”
%kernel.root\u dir%/Resources/assets/js/two.js“%}
{%endjavascripts%}
{%endblock%}
这很有魅力
我想做的,是代替
<script src="{{ asset_url }}"></script>
使用类似于:
<script> ... inline asset contents here ... </script>
php app/console assetic:dump --env=prod --no-debug
。。。这里的内联资产内容。。。
我尝试了assetic文档,并深入研究了AsseticTokenParser和AsseticNode类,但找不到引用实际文件路径而不是url的变量
通常我是用css而不是js来实现的,但应该是相同的概念
谢谢 在生产模式下,symfony生成指向静态文件的链接,该文件可以直接包含在模板中。此文件需要使用以下内容生成:
<script> ... inline asset contents here ... </script>
php app/console assetic:dump --env=prod --no-debug
在开发模式下,没有生成可以包含的静态文件。asset_url包含一个url,该url将调用symfony controller,而symfony controller将动态生成所需的js/css文件。另外,在symfony中包含控制器的输出非常容易:
{% render asset_url %}
为了回答我自己的问题,可以编写一个细枝扩展,它将包括一个静态文件或转发请求到render
方法,这取决于它是在prod模式还是dev模式下被调用的
如果/当我编写这样的扩展时,我将更新此页面
另一种选择是不使用assetic的开发模式,始终使用以下工具动态生成静态css/js文件:
php app/console assetic:watch
然后一个简单的包含就可以了
我希望Symfony中有一个现成的方法来完成这项常见任务。如果assetic无法使用,请尝试tiwg函数include
include
函数将包含一个文件,而不进行处理、应用过滤器和/或将多个文件合并为一个文件。