В symfony 4 я использовал пакет jsrouting для получения пути маршрута Symfony из кода JS.
В среде dev
все работает нормально, но когда я устанавливаю конфигурацию Symfony на prod
mod, я получаю эту ошибку, когда загружаю страницу, где один из моих скриптов javascript использует jsrouting:
(ошибка произошла в пользовательском файле JavaScript global.js
, используемом моей страницей)
Мой файл ветки содержит следующие строки:
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<script src="{{ asset('build/js/us/builder/global.js') }}"></script>
- Я установил переменную
APP_ENV
в dev
в файле .env: при загрузке страницы из отладчика браузера я вижу:
- Но если я установлю переменную
APP_ENV
на prod
в файле .env: при загрузке страницы из отладчика браузера я вижу:
Я не понимаю, почему, когда я перехожу в режим prod
, эти две строки:
<script src="/*****/public/bundles/fosjsrouting/js/router.js"></script>
<script src="/*****/public/js/routing?callback=fos.Router.setData"></script>
отсутствуют ... и именно поэтому я получил ошибку "Маршрутизация не определена", потому что "Маршрутизация" определена в файле router.js.
Я не понимаю, почему эти строки отсутствуют, когда Symfony находится в среде prod
Содержимое моего конфигурационного файла /myproject/config/bundles.php
:
<?php
return [
//...
FOS\JsRoutingBundle\FOSJsRoutingBundle::class => ['all' => true],
];
РЕДАКТИРОВАТЬ Вывод некоторых консольных команд: