зайти в папку dist и открыть index.html и она пустая. Я так понимаю Vue проект можно увидеть если открывать её через npm run preview либо npm run dev. Почему так происходит? И еще, как этот проект заливать на хостинг? Типа раз уж в лайв сервере проект не открывается то как я её буду заливать на хостинг чтобы всё работало?
2) У нас есть 2 страницы. Home и Catalog. Когда я захожу в первый раз на страницу Catalog то у меня происходит запрос на сервер и компонент вырисовывает карточки товара. Если я перейду на страницу Home и потом обратно на Catalog, то этот запрос и вырисовывание контента произойдёт заново или мне просто уже покажет уже готовый компонент который до этого уже сделал эти все действия.
Я понимаю если перезагрузить страницу то запрос и вырисовывание произойдет заново но если у нас страница не перезагружалась и мы переходили в другую страницу и вернулись опять в Catalog то оно заново загружается с нуля? Это нормально?
Как бы ты это сделал?
всм? ты про что именно?
Как бы ты сделал то, о чём спрашиваешь в посте?
Я вот и не знаю поэтому спрашиваю
Ты же как-то предполагаешь решить задачу. Уже имеешь какие-то знания. Вот и поведай как бы ты сделал?
Ну по поводу первого вообще хз так как у меня просто не открывается в лайв сервере проект Vue. По второму пункту сделал бы как попало, и вот хочу узнать как правильнее. В каких случаях как принято сделать
А как попало - это как? Какая последовательность действий у "как попало"?
попробуй npm run build и потом npm run generate, дальше поймешь уже че как
У меня в package.json нету такой команды npm run generate
А что нужно делать, чтоб команда была?
Забей, это древний тролль
Ну написать её. Но это же просто название npm run generate. Откуда мне знать что оно там под капотом делает
Чего? Лол не ну хорошее сообщество у вас чё сказать
А откуда вообще люди знают, что там оно под капотом делает? Чтобы ты сделал, чтоб знать так же, как и люди?
Да, у нас хорошее сообщество. Видишь, мы толерантны и даже я лично стремлюсь помочь тебе научиться самостоятельности
2. По дефолту данные выгрузится, и будут загружены снова при возвращении. Чтоб остались, надо самому так компонент написать. К примеру, положить данные в pinia
1) чтобы запустить сборку нужен сервер. Просто заливаешь весь контент в корень на любом хостинге и готово. Для вью роутера, возможно, понадобится настроить конфиг для apache или ngxinx. Кстати, если не хочешь заниматься сборками и разборками с хостингом - рекомендую netlify :) 2) кэшируйте данные самостоятельно
Вопрос знатокам, кстати — насколько оправдано использование netlify с учетом того, какая людоедская цена за трафик у них?
1. npm run build (почитай, что такое сборка) 2. Ты пропустил в доке пункт про <keep-alive>.
Vue - SPA фреймворк. Твое приложение найдет в index.html div тег с id=app и JS-ом добавит туда html-разметку приложения как заливать - билдишь свой проект через npm run build; В /dist папке образуется "артефакт" билда; Всю папку /dist надо физически положить на сервер; После этого делается настройка nginx таким образом, чтобы все запросы на "example.com/*" отдавался файл index.html из папки с "артефактом билда" Про роутинг - когда ты первый раз делаешь запрос на сервер после обновления страницы - качаются js-чанки (кусочки кода) с твоими компонентами; После этого SPA-приложение делает маунт на стороне клиента и остается в памяти браузера; если ты перейдешь сначала на страницу Home, а потом обратно на Catalog, то js-чанки так и останутся в памяти браузера; Но vue-router сделан таким образом, что при изменении роута с одного на другой, компонент страницы маунтится заново. Т.е. код для описания компонента отдельной страницы заново скачан НЕ будет, но компонент отдельной страницы будет замаунчен. если перезагрузить страницу - то на твой сервер nginx упадет новый запрос, то произойдет перезапрос всех js-чанков, и твое приложение будет заново маунтиться на клиенте
Обсуждают сегодня