Я разрабатываю страницу в Symfony 4, для которой требуется пакет FOSJSrouting.В моей среде DEV - с помощью Docker - я все заработал, используя следующие шаги.
Однако в моей среде Prod я получаю ошибки:
- http://url/js/routing?callback=fos.Router.setData 500 (Internal Server Error)
- router.min.js:1 Uncaught Error: The route "get_coinTicker_from_platform" does not exist.
Мои шаги, чтобы получить егоработа в DEV:
$ composer require friendsofsymfony/jsrouting-bundle
Добавление следующего к routes.yaml
:
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
Добавлениепосле моего base.html.twig
<script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
Этого было достаточно, чтобы мои открытые маршруты работали:
/**
* @Route("/ticker/{coin}/{plat}", name="get_coinTicker_from_platform", options={"expose"=true})
*/
Тогда в моем JavaScript я сделал:
$.ajax({
method: 'POST',
url: Routing.generate('get_coinTicker_from_platform', {coin: coin.val(), plat: exch.val()})
}).done(function(data) {
$('.loader').hide();
}
});
Я установил комплект маршрутизации с помощью composer на своем сервере Linux и даже попытался выполнить шаги, включенные в документы, для публикации ресурсов, а также маршрутов дампа, например:
bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.json
Iпроверил логи Symfony и Apache.Там ничего не намекает на эту проблему.Все остальное работает нормально, только FOSrouting вызывает проблемы.Кроме того, я попытался:
npm install fos-routing --save
Это фактически временно решило проблему, но на следующий день, после того, как я сделал другую rsync из моего локального хранилища, оно снова было прервано.