Самописный роутер на js в функциональном стиле, реально?
Знатоки, подскажите. Возможно ли сделать роутер, удовлетворяющим следующим критериям:
- на javascript (очевидно)
- в функциональном стиле
- чтобы переваривал hash и search
- работал быстро
- использовал location
Подскажите куда копать...
ProTip: не изобретать велосипед и взять что-то готовое. Например, path-to-regexp, который лежит в основе большинства роутеров. Либо более высокоуровневый инструмент.
Оно и понятно. У меня возникла основная проблема вот в чем:
Роутер ловил клик на ссылке (установка хэша), затем сравнивал с текущим url(на существование и совпадение хэша)... но работает это только после повторной перезагрузки страницы. Т.е при клике устанавливается хэш и только после обновления страницы срабатывало правило на этот хэш
Александр Дегтярев, по клику только хеш устанавливается? а остальные действия кто будет делать?
Если только установка хеша, то роутер должен слушать onhashchange
В современных реалиях более разумно использовать History API, а хеши оставить как фоллбэк при желании.