我会尽量保持简短,不想浪费你的时间。在开发环境中工作:
模板:
{% block javascripts %}
{% javascripts '@SomeBundle/Resources/public/js/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
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>
所以它读取Resources / public / js dir的内容,并使用正确的名称生成正确数量的链接。当我点击给定的网址时,我得到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>
这几乎意味着我的页面上没有JS。 我试过了什么:
app/console assets:install web --no-dev
app/console assetic:dump --no-dev
将config.yml中的包名称添加到assetic.bundles [] 谷歌(当然)
之前有人遇到过这样的事吗?我有,并且通过不使用资产来“解决”它,但我想这次正确。有什么想法吗?