2

複数の js ライブラリを読み込もうとしています。次のいずれかの方法を使用すると、ブートストラップと facebook js ファイルは正常に読み込まれますが、追加した他のライブラリは、名前で呼び出された場合は 500 エラーをスローするか、/* を使用した場合は単に読み込まれません。私が知る限り、同じ権限。なぜこれが起こるのでしょうか? どうすれば修正できますか?

方法 1:

{% javascripts
        'bundles/onnbrun/js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

方法 2:

{% javascripts
        'bundles/onnbrun/js/jquery-1.8.0.min.js'
        'bundles/onnbrun/js/jquery-ui-1.9.0.js'
        'bundles/onnbrun/js/bootstrap.min.js'
        'bundles/onnbrun/js/facebook_enable.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

更新#1:

以下に提案されている @Bundle 構文を使用すると、エラーなしで php app/console assetic:dump を実行できます。ただし、ブラウザーで app_dev.php にアクセスしようとすると、次のエラーが表示されます。

"ONNBrunBundle::web.html.twig" でテンプレートのコンパイル中に例外がスローされました ("ファイル "@ONNBrunBundle/js/jquery-1.8.0.min.js" が見つかりません)。

バンドルの Resources/public/js ディレクトリにあるファイルを、IDE およびパテを介して表示できます。

更新#2:

#symfony の lee からのアドバイスで、ブラウザで js ディレクトリへのルーティングを試みました。ずっと適切に機能していた 2 つの js ファイルだけがそこにあり、他には何もありません。

だから... /www/src/ONN/BrunBundle/Resources/public/js は、パテ、IDE、またはランダムな ftp プログラムを介して見ると、提供しようとしているすべての js ファイルを表示します。ただし、ブラウザの /web/bundles/onnbrun/js/ には、正しく機能する 2 つの js ファイルのみが表示されます。

assetic:dump と assetic:dump --env=prod --no-debug をエラーなしで実行しました。

cache:clear を実行しました。

何が不一致を引き起こしているのかわかりません。

4

1 に答える 1

3

ケース1)

ファイルはバンドルに保存されます

その場合は、以下のコードを使用してください

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

ケース 2)

ファイルは、js ディレクトリの下のルート Web ディレクトリに保存されます (バンドル ディレクトリではありません)。

{% javascripts
        'js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

最終段階

ファイルをダンプします

php app/console assetic:dump --env=prod --no-debug
于 2013-01-27T11:01:29.987 に答える