Почему я получаю «setRoutingData is not a function» в Symfony 4 WebPack?

Мой код app.js следующий

import Routing from '../../vendor/friendsofsymfony/jsrouting-bundle/Resources/js/router'
import Routes from './routes.json'
//import routes from '../../web/js/fos_js_routes.js'

  Routing.setRoutingData(Routes);

И я получаю следующую ошибку ..

TypeError: _vendor_friendsofsymfony_jsrouting_bundle_Resources_js_router__WEBPACK_IMPORTED_MODULE_0___default.a.setRoutingData is not a function

Как это решить?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам следует использовать:

const routes = require('../../public/js/routes.json');
import Routing from '../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';

Routing.setRoutingData(routes);

как предлагает документация.

Помните, что вы должны использовать jsrouting-bundle/Resources/public/js/router.min.js, а не jsrouting-bundle/Resources/js/router.js.

Вы, вероятно, забыли общедоступную папку на своем пути.

Не могли бы вы открыть файл vendor / friendsofsymfony / jsrouting-bundle / Resources / public / js‌ /router.min.js, чтобы увидеть, что он содержит?

iiirxs 15.12.2018 14:50

Он содержит! Function (e, t) {var n = t (); "function" == typeof define && define.amd? ........ и т. д.

user9368003 15.12.2018 14:52

не могли бы вы использовать console.info (routes), чтобы узнать, действительный ли это объект?

iiirxs 15.12.2018 14:57

Объект {base_url: "", маршруты: {…}, префикс: "", хост: "localhost", порт: "", схема: "http"}

user9368003 15.12.2018 15:02

очень странно, я использую именно так. console.info (Маршрутизация); что вы получаете?

iiirxs 15.12.2018 15:09

Также в какой файл вы его включаете? вы компилируете через webpack?

iiirxs 15.12.2018 15:12

:) Рад был помочь!

iiirxs 15.12.2018 15:19

Другие вопросы по теме