Comments 17
А как варниш узнает что пора инвалидировать кэш?
У меня на одном проекте работает nuxt-пререндер как кэш… Да, велосипед, но задачу выполняет и можно гибко кодить нужную логику в отличии от прокси-кэшей.
В данном случае мы использовали суррогатные ключи, по типу контента, персональный ключ на основе id, а также еще пару специфичных.

Админка, в которой происходит редактирование контента, на основе этих ключей производила сброс кеша.

Например, пост мог быть помечен `post/425053 posts channel/vuejs tag/ssr tag/vue`. Разные ключи необходимы, потому что один и тот же пост может быть показан как на детальной странице, так и в списке постов на главной, в списке канала или по тегу.
Поверю) Я чет просто доглядел до vue init и подумал что это про руками ssr делать. Просто для бутстрапа накста использовать надо create nuxt app а не устаревший темплейт для vue init

Можно например не использовать ssr, можно копнуть в сторону react-php и сделать vue php


А можно написать сервис на js которая будет тупо прослойкой которая стучится на api того-же laravel или yii2

СтрадатьНа самом деле зависит от многих факторов и от того, чего вы хотите добиться. В простейшем случае, можно оставить серверный рендеринг на PHP, а также выставить дублирующие API ендпоинты. Страница отрендерилась, клиентский фреймворк дальше работает как SPA, обращаясь к API. Но в этом случае придется дублировать как контроллеры на сервере, ведь нужно возвращать как сырые данные, так и полностью отрендеренную страницу, а также поддерживать клиентское приложение.
В целом, если нет понимания что делать, лучше оставить как есть.
Доброго дня, как вы бы реализовали получение данных для всех компонентов на странице во время рендера на стороне сервера?

Допустим у нас есть layout-default который принимает в себя страницу с постами, имеет в себе меню, какой-то компонент в сайдбаре и что-то еще, что требует обращение к api. Собирать все asyncData в массив промисов и ждать исполнения всех запрос на мой взгляд нерационально, возможно есть хороший способ собрать один запрос к апи, вместо 10?

Я реализовал это, только не уверен в правильности решения.
Доброго.

Если я правильно понял вопрос, то есть возможность использовать nuxtServerInit action. В документации, как раз похожий пример есть:
actions: {
  async nuxtServerInit({ dispatch }) {
    await dispatch('core/load')
  }

  // ...
}


Действие nuxtServerInit вызывается только на сервере. В свою очередь в нем мы можем
вызвать другие необходимые нам события, содержащие обращения к API, и вызывающие мутация нашего store.

Данные, соответственно будут лежать в store, а не локально в компоненте.
Only those users with full accounts are able to leave comments. Log in, please.

Information

Founded
Location
Россия
Website
umbrellait.com
Employees
101–200 employees
Registered