4

synfony2 プロジェクトで require.js を使用しようとしています。

メイン小枝ファイルのコードは次のとおりです。

<script 
        data-main="{{ asset('bundles/web/js/main.js') }}" 
        src="{{ asset('vendor/js/require.js') }}">
</script>

ファイルvendor/js/require.jsは正しくロードされていますが、ファイルに対してbundles/web/js/main.js次のメッセージが表示されます。

キャッチされないエラー: モジュールの読み込みタイムアウト: mainApp.js?201205021855 http://requirejs.org/docs/errors.html#timeout

RequireJS 1.0.8 を使用しています。問題を解決する方法はありますか?ありがとう。


ソースページを見ると、次のようになります。

<script 
      data-main="/~myName/myProject/web/bundles/web/js/main.js?101205021855"       
      src="/~myName/myProject/web/vendor/js/require.js?101205021855">
</script>

したがって、パスは正しいですが、javascript コンソールで次のメッセージが表示されます。

GET http://localhost/~myName/myProject/web/app_dev.php/main.js?201205021855 404 (見つかりません)

4

3 に答える 3

2

@dgabriel 応答に追加します。スライスフィルターを使用してそれを行うことができます、

<script 
        data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}" 
        src="{{ asset('vendor/js/require.js') }}">
</script>
于 2012-05-09T21:17:26.357 に答える
1
  1. アセットには必ず「.js」ファイル拡張子を付けないでください。data-main = "{{asset('bundles / web / js / main')}}"である必要があります

  2. ファイルへのパスが正しいことを確認してください。

  3. main.jsにjavascriptエラーがないことを確認してください

于 2012-05-09T20:30:49.460 に答える
0

その404は、アプリケーションの別の場所で「main」が必要になった結果として発生しているように見えます。これは、data-mainのパスと一致しません。その場合、baseUrlまたはpaths configに問題がある可能性があります(どちらも、モジュールが配置されている場所をRequireJSに通知するさまざまな方法です)。この例では、baseUrlは「/〜myName / myProject / web / bundles / web/js」である必要があります。

https://github.com/hearsayit/HearsayRequireJSBundleを使用してみてください。これらの構成の詳細を自動的に処理し、Asseticとうまく統合します。

于 2012-06-01T03:24:11.893 に答える