Пытаюсь написать роутер. Он есть написанный и все в принципе в нем работает нормально, но когда я просто вставляю url отличный от маппинга '/', то появляется 404.
Router:
export class Router {
constructor() {
this.controllers = {
'/': 'defaultController',
'/user': 'userController',
'/messages': 'messageController'
};
window.addEventListener('load', this.determineController.bind(this));
document.getElementById('button').addEventListener('click', this.determineController.bind(this));
}
setContainer(container) {
this.container = container;
}
determineController(event) {
event.preventDefault();
let allPath;
let mapping;
if('load' === event.type) {
allPath = window.location.pathname;
let regex = new RegExp('/Shop/src/main/webapp/view(.*)');
mapping = regex.exec(allPath)[1];
} else {
mapping = event.target.attributes['router'].value;
allPath = '/Shop/src/main/webapp/view' + mapping;
}
window.history.pushState({}, "Cocaine", allPath);
this.container.determineAction(this.controllers[mapping]);
}
addListenerOnElement(element, eventElement) {
element.addEventListener('click', this.determineController.bind(this));
}
}
Пример запроса:
http://localhost:63342/Shop/src/main/webapp/view/messages(404)
http://localhost:63342/Shop/src/main/webapp/view(200)
Проект пишу в Intellij IDEA.
Как правильно поступить?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости