Symfony2-从自定义表单字段类型小部件中加载带有assetic的JS文件

Symfony2-从自定义表单字段类型小部件中加载带有assetic的JS文件,symfony,twig,assetic,Symfony,Twig,Assetic,所以我需要一个自定义表单字段类型,在定义字段代码的块中,我需要用assetic加载一些JS {% block my_form_field_type_widget %} {% spaceless %} <input type="hidden" name="{{ full_name }}" id="{{ id }}" autocomplete='off'/> {% javascripts '@MyModuleBundle/R

所以我需要一个自定义表单字段类型,在定义字段代码的块中,我需要用assetic加载一些JS

{% block my_form_field_type_widget %}
    {% spaceless %}
        <input type="hidden" name="{{ full_name }}" id="{{ id }}" autocomplete='off'/>
        {% javascripts
            '@MyModuleBundle/Resources/public/js/fileToLoad.js'
            filter="?yui_js"
        %}
            <script src="{{ asset_url }}"></script>
        {% endjavascripts %}

        <script type="text/javascript">
           useFunctionInFileToLoadJS();
        </script>
    {% endspaceless %}
{% endblock %}
{%block my\u form\u field\u type\u widget%}
{%spaceless%}
{%javascripts
“@MyModuleBundle/Resources/public/js/fileToLoad.js”
filter=“?yui_js”
%}
{%endjavascripts%}
使用FunctionInfileToLoadJS();
{%endspaceless%}
{%endblock%}
我遇到的问题是,Assetic生成的资源路径错误,导致404:

<script src="/_controller/js/6f0730f.js">

应该是这样的:

<script src="/app_dev.php/js/6f0730f.js">


有什么办法吗?

您是否尝试明确指定输出路径/文件

{% block javascripts %}
    {% javascripts
        '@MyModuleBundle/Resources/public/js/fileToLoad.js'
        filter="?yui_js"
        output='build/fileToLoad.js'
    %}
    <script src="{{ asset_url | replace({'/app_dev.php': ''}) }}"></script>
{% endjavascripts %}
{%block javascripts%}
{%javascripts
“@MyModuleBundle/Resources/public/js/fileToLoad.js”
filter=“?yui_js”
output='build/fileToLoad.js'
%}
{%endjavascripts%}

您是否尝试明确指定输出路径/文件

{% block javascripts %}
    {% javascripts
        '@MyModuleBundle/Resources/public/js/fileToLoad.js'
        filter="?yui_js"
        output='build/fileToLoad.js'
    %}
    <script src="{{ asset_url | replace({'/app_dev.php': ''}) }}"></script>
{% endjavascripts %}
{%block javascripts%}
{%javascripts
“@MyModuleBundle/Resources/public/js/fileToLoad.js”
filter=“?yui_js”
output='build/fileToLoad.js'
%}
{%endjavascripts%}

我们将遵循另一条路线,提供一项服务,负责JS加载。仍然没有最终确定它将如何工作。:)你的意思是,需要像lib这样的异步js加载吗?如果你能做到这一点,我会很感兴趣的我们将遵循不同的路线,提供一个服务来处理JS加载。仍然没有最终确定它将如何工作。:)你的意思是,需要像lib这样的异步js加载吗?如果你能做到这一点,我会很感兴趣的