#vue.js #vuejs2 #axios #nuxt.js
#vue.js #vuejs2 #axios #nuxt.js
Вопрос:
Я работаю над Nuxt 2.13 и создаю веб-сайт электронной коммерции.
Но есть некоторые проблемы с ресурсами моего сервера, моя первая загрузка сайта занимает некоторое время (при изменении маршрута все в порядке и быстро, просто инициализация происходит медленно).
Итак, я хочу знать, какие части моего сайта будут находиться на сервере, а какие — в браузере клиента.
например, как рекомендовано, я использую fetch()
with axios
для получения данных страницы / компонента. когда я читаю документы, в маршруте рендеринга указано, что он находится на стороне сервера, а в навигации — на стороне клиента. так что это значит? мой axios
вызов fetch()
на сервере или клиенте? как насчет других моих вызовов axios methods
для серверной части?
я хочу понять, какие части находятся на сервере? и могу ли я сделать их на стороне клиента, чтобы сэкономить ресурсы сервера? (Я боюсь, что у некоторых пользователей использование ресурсов становится слишком высоким !!)
Ответ №1:
Это точка выборки. Он вызывается, когда это необходимо. На стороне сервера во время начальной загрузки страницы все состояние страницы отправляется вместе с отображаемой страницей клиенту. Вся следующая навигация вызывает выборку только на стороне клиента.
На базовом уровне вам на это наплевать. На самом деле, чтобы ускорить начальную загрузку, вы можете решить всегда загружать что-то на клиенте. Затем вы можете переместить его в mounter(), который всегда вызывается только на стороне клиента.
Комментарии:
1. tanx. но есть еще кое-что, чего я не понимаю. начальная загрузка страницы означает, когда я захожу на страницу в первый раз или когда я впервые нажимаю на весь URL-адрес сайта (например, я захожу
example.com
, и выборка — ssr, перейдите на/about
серверную или клиентскую сторону? перейдите обратно кindex
is на сервере или клиенте)?2. весь сайт. И вы должны перемещаться с помощью router-link (вместо использования простого href, что приведет к перезагрузке страницы с сервера)