1

時間を無駄にしたくないので、短くするようにします。開発環境での作業:

テンプレート:

{% 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 の内容を読み取り、正しい名前で正しい数のリンクを作成します。ただし、指定された 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>

これは、私のページに JS がないことを意味します。何を試しましたか:

app/console assets:install web --no-dev
app/console assetic:dump --no-dev

config.yml のバンドル名を assetic.bundles[] グーグルに追加 (もちろん)

誰かが前にこのようなことに遭遇しましたか? 私は資産を使用しないことでそれを「解決」しましたが、今回はそれを正しくしたいと思います。何か案は?

4

2 に答える 2

5

ここで説明されているように、使用できます

php app/console assetic:dump --watch

アセットが変更されると、アセットが自動的にダンプされます。

この投稿には、その件に関する情報もあります

于 2013-06-26T08:04:23.270 に答える
1

本番環境では、デプロイごとに 1 回だけダンプする必要があり、これは自動化できます (Capifony を参照)。

開発中はパラメーターを使用しないで--no-devください。これにより、アセットダンプがコンパイルされたファイルのみになり、部分的なものは無視されます。/js/98b0881_part_1_jquery-1.8.3.min_2.js

于 2013-05-18T18:03:09.143 に答える