J'essaie d'utiliser require.js dans le projet synfony2.
Ici, le code dans le fichier principal de la brindille:
<script data-main="{{ asset('bundles/web/js/main.js') }}" src="{{ asset('vendor/js/require.js') }}"> </script>
Le vendor/js/require.js
fichier vendor/js/require.js
est correctement chargé, mais pour les vendor/js/require.js
fichiers bundles/web/js/main.js
je reçois le message:
Erreur non détectée: délai de chargement pour les modules: mainApp.js? 201205021855 http://requirejs.org/docs/errors.html#timeout
- Javascript 'cette' valeur change, mais ne peut pas comprendre pourquoi
- Phantomjs créant une sortie noire de SVG à l'aide de page.render
- Comportement de barre de défilement personnalisé en Javascript?
- Javascript: comment convertir un tableau d'objets en objet avec des tableaux uniques triés?
- Passer des données de Javascript vers Android WebView
J'utilise RequireJS 1.0.8. Une idée de la façon de résoudre le problème? Merci.
Si je regarde la page source, il ressemble à:
<script data-main="/~myName/myProject/web/bundles/web/js/main.js?101205021855" src="/~myName/myProject/web/vendor/js/require.js?101205021855"> </script>
Donc, les chemins sont des droits, mais sur la console javascript, je reçois le message suivant:
GET
http://localhost/~myName/myProject/web/app_dev.php/main.js?201205021855
404 (introuvable)
En ajoutant à @dgabriel response. Vous pouvez le faire en utilisant un filtre en tranche,
<script data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}" src="{{ asset('vendor/js/require.js') }}"> </script>
Assurez-vous de laisser l'extension de fichier '.js' à partir de vos actifs. Cela devrait être data-main = "{{asset ('bundles / web / js / main')}}"
Assurez-vous que votre chemin d'accès au fichier est correct.
Assurez-vous qu'il n'y a pas d'erreur javascript dans main.js
Le 404 semble être venu en raison du fait que le «principal» soit requis ailleurs dans votre application – il ne correspond pas au chemin dans votre base de données. Dans ce cas, il est très probable qu'un problème avec votre configuration baseUrl ou chemin soit (les deux façons de dire à RequireJS où se trouvent vos modules). Dans votre exemple, votre base devrait être '/ ~ myName / myProject / web / bundles / web / js'.
Vous pouvez essayer d'utiliser https://github.com/hearsayit/HearsayRequireJSBundle . Il gère ces détails de configuration automatiquement et s'intègre parfaitement avec Assetic.