Nuxt: различия nuxtServerInit против Mddleware против плагинов - PullRequest
0 голосов
/ 11 декабря 2019

В чем разница между 1) nuxtServerInit 2) промежуточным программным обеспечением 3) плагином

И когда он обрабатывается на стороне сервера, и когда он обрабатывается на стороне клиента.

1 Ответ

1 голос
/ 12 декабря 2019
  1. nuxtServerInit

Если в хранилище определено действие nuxtServerInit, Nuxt.js вызовет его с контекстом (только с сервера-боковая сторона). Это полезно, когда у нас есть данные на сервере, которые мы хотим передать непосредственно клиентской стороне.

Промежуточное программное обеспечение

В универсальном режиме промежуточное программное обеспечение будет вызываться на стороне сервера один раз (при первом запросе к приложению Nuxt или при обновлении страницы) и клиенте. -бокса при навигации по дальнейшим маршрутам. В режиме SPA промежуточное программное обеспечение будет вызываться на стороне клиента при первом запросе и при переходе к дальнейшим маршрутам.

Плагины

Nuxt.js позволяет вам определять плагины JavaScript, которые будут запускаться перед созданием корневого приложения Vue.js.

Одна интересная вещь, которую следует помнить с плагинами, которые прямо не упоминаются, это то, что они вызываются один раз на сервере и один раз на клиенте (если вы не настроили их иначе).


ИтакТеперь перейдем к различиям.

NuxtServerInit - самый уникальный из 3. Его пример использования предельно ясен: заполнение хранилища Vuex данными, доступными на сервере. Это отлично подходит для настройки хранилища с некоторыми данными, специфичными для сессии.

Разница между плагинами и промежуточным ПО на самом деле сводится к двум вещам:

  1. Когда они запускаются.
  2. Сколько раз они запускаются.

Промежуточное программное обеспечение всегда запускается между переходами по страницам и будет вызываться на сервере для первого маршрута, а затем на клиенте для каждой навигации пользователяделает после этого. Это делает его идеальным для таких вещей, как проверка подлинности между страницами.

Плагины (по умолчанию) запускаются как на сервере, так и на клиенте, но важно помнить, что они запускаются на клиенте только один раз (если вы не освежитесь). Это делает их отличными для импорта и настройки библиотек, которые могут быть добавлены в экземпляр Nuxt.

Плагины также запускаются до создания экземпляра Nuxt, то есть вы не можете получить доступ к Nuxt с помощью this. Это должно еще больше указать на то, что плагины, как правило, следует использовать для настройки и загрузки зависимостей. Очевидно, что это чрезмерное упрощение и есть исключения, но с этого стоит начать.

Когда вы начнете углубляться в Nuxt, вы увидите, что эти различия могут стать очень размытыми, и найдетечто каждый из 3 может технически сделать почти все, что могут другие. Просто подумайте о решаемой проблеме и выберите наиболее подходящий для вас инструмент.

...