Вопрос, непосредственно к тем, кто работал с данной связкой.
Используется Symfony2 и бандл
HearsayRequireJsBundle. В нем документации по оптимизации скриптов с помощью r.js практически нет, кроме как добавления фильтра.
Единственное, что удалось нагуглиль, это вот это решение:
labs.apt.no/how-i-got-the-hearsayrequirejsbundle-w...
Итак, проблема: при указании фильтра
{% javascripts
filter='?requirejs'
'@AcmeDemoBundle/Resources/public/js/src/main.js'
%}
{{ require_js_initialize({ 'main' : asset_url }) }}
{% endjavascripts %}
и запуске команды дампа ассетов, проихсодит их оптимизация на основе конфига, и все подключаемые модули собираются в 1 файл. Так вот, даже по предложенному способу из вышеприведенной статьи, в dev окружении скрипты валятся с ошибкой.
Вопрос такой - есть ли конкретный пример удачного конфигурирования requirejs вместе с symfony?
Спасибо.
UPD:
Конфигурация:
hearsay_require_js:
require_js_src: //cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js
initialize_template: HearsayRequireJSBundle::initialize.html.twig
base_url: js
base_dir: %kernel.root_dir%/scripts
optimizer:
path: %kernel.root_dir%/../r.js
declare_module_name: true
hide_unoptimized_assets: false
options:
name: main
paths:
main: @TestCoreBundle/Resources/public/js/main
Вызов кода в шаблоне:
{% javascripts
filter='?requirejs'
'@TestCoreBundle/Resources/public/js/main.js'
%}
<script type='text/javascript'>
var require = {
deps: [],
callback: function() {
require(['main'], function() {
});
}
};
</script>
{{ require_js_initialize({ 'main' : asset_url, 'configure' : false })}}
{% endjavascripts %}
Файл main.js:
define([
], function(){
alert(1)
});
Вот что происходит в dev окружении: срабатывает alert(1), после этого еще подгражется
дополнительно файле /js/main.js - это и вызывает 404 ошибку.