В ORO CRM есть фрагмент кода, который возвращает конфигурацию requires.js
requirejs.config.js.twig:
paths: {
{% if app.debug %}
'oro/routes': '{{ path('fos_js_routing_js', {"callback":
"fos.Router.setData"}) }}'
{% else %}
'oro/routes': {{ asset('js/routes.js',
'routing')|json_encode|raw }}
{% endif %}
}
в режиме разработки (отладка включена) это отображается как
paths: { 'oro / routes': '\ x2Fapp_dev.php \ x2Fjs \ x2Frouting \ x3Fcallback \ x3Dfos.Router.setData' }
... и это работает. однако в режиме отладки это будет отображаться как:
paths: {
'oro/routes': "/js/routes.js"
}
который, когда require.js добавляет еще одно расширение ".js", браузер затем пытается получить
/js/routes.js.js
(почему обратная косая черта?)
это не работает ... так почему это происходит? это где-то проблема с конфигурацией? или я слишком глуп?
С уважением
.rm
@ shukshin.ivan - правда? но похоже, что кто-то думает, что косую черту "/" нужно закодировать ... что не так ... хм. в любом случае. на самом деле проблема была не в этом. это странная вещь, которую я заметил сбоку.






Кажется, у вас есть пустые значения для следующих двух параметров в parameters.yml:
assets_version: null
assets_version_strategy: null
Попробуйте установить для них значения. Например:
assets_version: a9f52621
assets_version_strategy: time_hash
Не забывайте чистить кеш.
Спасибо. я изучу это. по небольшому касательному вопросу: как вы вообще находите такую проблему. это кажется действительно очень непонятной проблемой.
Просто удалите parameters.yml в своем приложении. Запустите php composer.phar install. Установите необходимые параметры (например, настройки подключения к БД), остальные параметры используются по умолчанию. Затем установите приложение. После этого все работает нормально. assets_version будет обновлен автоматически и после установки приложения не будет null.
Ну, обратная косая черта из-за
json_encode