на SPA.
Я вот чего не понимаю:
Сделал я проект на Vue, с роутингом - есть странички / и /about
Зашел я на http://site.ru/
Тут все понятно - загрузился index.html, загрузился JS, появилась ссылка "О компании" при клике на которую визуально браузер перекидывает на http://site.ru/about , в адресной строке меняется адрес, меняется контент.
А что происходит под капотом?
У меня ведь SPA, значит есть, условно, только index.html и index.js и сервер справедливо должен был бы отдать мне 404 на запрос /about , но этого не происходит.
Запрос к серверу вообще должен происходить?
Или JS тупо делает перерендер и меняет текст в поле url, по факту никуда меня не перенаправляя?
И если я приду по ссылке http://site.ru/about из какого-то левого сайта, то у меня будет заслуженная 404, если я ничего не предприму специально ?
Или там NodeJS сервер как-то отвечает за маршрутизацию, и для статических сайтов а-ля "хостинг на народ.ру" это неприменимо?
Или я чето не догоняю?
спа тупо статика, обычный хостинг справится роутер просто меняет то шо написано
Т.е. если я приползу на /about не с главной, то у меня будет заслуженная 404? И никакой магии нет?
тут уже надо на хосте настроить, но там все элементарно
Да, тут понятно. Я про принцип. Думал может в стандарты включили какой "фоллбек" на корень. Спасибо, понятно
Если верно помню то роуты - это History API, которое манипулирует адресной строкой. Сервер настраивается так, чтобы при любой ссылке отдавался index.html, а js считывает адресную строку и отдает нужные компоненты на нужные ссылки
Обсуждают сегодня