Найти тему
Nuances of programming

Как правильно зарегистрировать плагин в nuxt.js

Источник: Nuances of Programming

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

Cначала я покажу какие НЕправильные варианты я встречал на своем пути разработчика.

Внимание, это НЕправильный вариант!

-2

И даже встречал такое изобретение.
Внимание, это тоже НЕправильный вариант!

-3

Итак, давайте найдем правильное решение. Вот пример из официальной документации, но как видите, не самый развернутый. Давайте разбираться!

-4

Но есть еще одна проблема, как обратиться к плагину i18n из другого плагина?
Например, у меня есть плагин, который показывает нотификации на страницах и я хочу показывать переведенные нотификации.
Если вы подумали о простом импорте, то это не сработает из-за асинхронного подключения плагинов. В момент подключения плагина нотифицкации, плагин переводов скорее всего еще не подключен и вы получите undefined.

Тут к нам на помощь приходит функция inject, которая приходит вторым параметром и которую нужно вызвать с двумя параметрами, чтобы заинжектить плагин.
Первый параметр типа String — это название нашего плагина, к которому прибавится префикс $, наш плагин будет доступен в ctx.app.$pluginName , в плагинах и this.$pluginName в компонентах.
Второй параметр типа Function — это наш плагин, функция которая будет выполняться при вызове $pluginName().

Внимание, правильный вариант, в случае если вам требуется получить доступ к одному плагину, в другом.

Перепишем официальный пример на:

-5

Читайте нас в телеграмме и vk