Как создать плагин Vuex, который получает элемент конфигурации из родительского приложения - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над библиотекой Vue и сопутствующим стартовым комплектом, который будет использоваться различными приложениями, созданными для платформы; поэтому из myApp я бы запустил npm install --save myVueLibrary. Часть myVueLibrary - это магазин Vuex, в котором будут храниться данные, общие для всех приложений, которые его используют. Однако в рамках одного из действий магазина мне нужно получить доступ к URL-адресу конкретного проекта из файла конфигурации в приложении. Судя по тому, что я читаю, похоже, что мне нужно создать его как плагин, чтобы я мог передать свой URL-адрес в качестве параметра конфигурации, например

Vue.use('authPlugin', {url: APP_URL});

Однако, читая о плагинах в docs , они перечисляют все, что можно сделать с помощью плагинов:

  • Добавьте некоторые глобальные методы или свойства. например, vue -custom-element
  • Добавьте один или несколько глобальных ресурсов: директивы / фильтры / переходы и т. д. c. например, vue -touch
  • Добавить некоторые параметры компонента с помощью глобального микширования. например, vue -router
  • Добавьте несколько методов экземпляра Vue, прикрепив их к Vue .prototype.
  • Библиотека, которая предоставляет собственный API, в то же время вводя некоторую комбинацию вышеперечисленного. например, vue -router

Заметно отсутствует упоминание о Vuex. Затем в документации плагина Vuex он просто указывает

Плагины не могут напрямую изменять состояние - аналогично вашим компонентам, они могут инициировать изменения только путем фиксации мутаций.

Итак, как мне достичь того, чего я хочу достичь:

  1. Добавление нового модуля Vuex в мой магазин приложений из моей библиотеки, а
  2. Разрешение моего родительскому приложению передать значение конфигурации?
...