Symfony2 Assetic在dev中生成死链接

Kur*_*uro 1 php symfony assetic

我会尽量保持简短,不要浪费你的时间.在开发环境中工作:

模板:

{% block javascripts %}
   {% javascripts '@SomeBundle/Resources/public/js/*' %}
      <script type="text/javascript" src="{{ asset_url }}"></script>
   {% endjavascripts %}

{% endblock %}
Run Code Online (Sandbox Code Playgroud)

html输出:

<script type="text/javascript" src="/js/98b0881_part_1_fill_form.jquery_1.js"></script>                            
<script type="text/javascript" src="/js/98b0881_part_1_jquery-1.8.3.min_2.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以它读取Resources/public/js dir的内容,并使用正确的名称生成正确数量的链接.当我点击给定的URL时,我得到404 apache响应:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
        <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /js/98b0881_part_1_jquery-1.8.3.min_2.js was not found on this server.</p>
    <hr>
    <address>Apache/2.2.22 (Ubuntu) Server at ipardon.loc Port 80</address>
</body></html>
Run Code Online (Sandbox Code Playgroud)

这几乎意味着我的页面上没有JS.我试过了什么:

app/console assets:install web --no-dev
app/console assetic:dump --no-dev
Run Code Online (Sandbox Code Playgroud)

将config.yml中的包名称添加到assetic.bundles [] googling(当然)

以前有人遇到这样的事吗?我有,并且通过不使用资产来"解决"它,但我想这次正确.有任何想法吗?

小智 5

如此处所述,您可以使用

php app/console assetic:dump --watch
Run Code Online (Sandbox Code Playgroud)

如果资产发生变化,它会自动转储您的资产.

这篇文章也有关于该主题的信息