В моем приложении Ember есть компонент, который возвращает данные из файла уценки stati c.
didInsertElement() {
fetch('markdown/faqs-content.md').then(response => {
response.text().then(result => {
this.set('markdown', result);
});
});
}
Когда приложение запускается, запрос переходит к http://localhost:4200/markdown/faqs-content.md
и все работает нормально.
Однако в мираже я получаю эту ошибку:
Mirage: Your app tried to GET '/markdown/faqs-content.md', but there was no route defined to handle this request. Define a route for this endpoint in your routes() config. Did you forget to define a namespace?
Вышеуказанное происходит, хотя в mirage/config.js
включено следующее:
this.passthrough();
Предположительно, это связано с тем, что API Пространство имен не включено в URL-адрес запроса.
Проблема может быть решена путем добавления полного URL-адреса для передачи:
this.passthrough('https://localhost:4201/markdown/faqs-content.md');
В этом есть две проблемы:
- Я не всегда знаю порт, на котором обслуживается приложение, и
- Я не хочу терять функциональность использования
this.passThrough()
, который автоматически вызывает проход через для любых запросов API, где нет соответствующего маршрута в mirage/config.js
.
, таким образом, у меня есть 2 вопроса.
В config.js
, есть ли способ получения порта, на котором работает сервер Ember, чтобы разрешить что-то вроде https://localhost:${port}/markdown/faqs-content.md
?
Есть ли способ настроить e Mirage, чтобы пропустить запрос к https://localhost:4201/markdown/faqs-content.md
и все еще разрешить ему проходить для любых других запросов, для которых не определен соответствующий маршрут?