2012-05-09 8 views
4

synfony2プロジェクトでrequire.jsを使用しようとしています。Assetic for requireJsの使用方法

ここでは、メイン小枝ファイル内のコード:

<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のために、私はメッセージを取得している:

Uncaught Error: Load timeout for modules: mainApp.js?201205021855 http://requirejs.org/docs/errors.html#timeout

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


私は元のページに目を向けるならば、それは次のようになります。だから、パスは権利ですが、JavaScriptコンソール上で、私は以下のようなメッセージを取得

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

GET http://localhost/~myName/myProject/web/app_dev.php/main.js?201205021855 404 (Not Found)

答えて

1
  1. あなたの資産からのファイル拡張子「.js」を残しておいてください。 data-main = "{{asset( 'bundles/web/js/main')}}"

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

  3. はmain.js応答を@dgabrielするために追加

+0

ありがとう@dgabrielとm2mdas、私は詳細を追加して私の質問を編集しました。 – underscore666

2

にはjavascriptのエラーがないことを確認してください。それはあなたのデータのメインのパスと一致していません - あなたはそれが「メイン」は、アプリケーション内のどこかに必要とされた結果として来ているように404が見えること、

<script 
     data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}" 
     src="{{ asset('vendor/js/require.js') }}"> 
</script> 
+0

ありがとう@ m2mdas、私は詳細を追加して私の質問を編集しました。 – underscore666

+0

うーん、あなたasseticの 'asset_version'オプションを有効にしました。ウェブディレクトリの '.htaccess'がこのパスをファイルパスではなくルートとして扱うので、Well 404が発生しています。 –

+0

また、regex replaceフィルタはtwigでは使用できません。これを行うには、小枝の拡張を作成する必要があります。 –

0

をスライスフィルタを使用してそれを行うことができます。その場合は、baseUrlまたはpathsの設定で問題が発生する可能性が高くなります(どちらも、モジュールが配置されているRequireJSに異なる方法です)。あなたの例では、あなたのbaseUrlは '/〜myName/myProject/web/bundles/web/js'である必要があります。

https://github.com/hearsayit/HearsayRequireJSBundleをお試しください。これらの設定の詳細は自動的に処理され、Asseticとうまく統合されます。

関連する問題