Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript symfony内嵌资产与资产_Javascript_Css_Symfony_Assets_Assetic - Fatal编程技术网

Javascript symfony内嵌资产与资产

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

我有以下基于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" %}
            <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
函数将包含一个文件,而不进行处理、应用过滤器和/或将多个文件合并为一个文件。