В настоящее время я работаю над проектом rails, где мы используем webpacker. Я хочу иметь возможность создавать небольшие динамические компоненты и объединять их в пакеты. Мы хотим иметь возможность использовать эти пакеты в качестве элементов в HTML-коде, отображаемом на стороне сервера. Хотя это работает (в настоящее время у нас есть пакет для каждого компонента), я не знаю, как лучше всего разделить хранилище vuex между этими пакетами. Я предполагаю, что это можно сделать через webpacker, но я не уверен.
ситуация например:
dynamic_component_one data-id="abc"
dynamic_component_two data-id="abc
= javascript_pack_tag 'dynamic_component_one'
= javascript_pack_tag 'dynamic_component_two'
В основном то, чего я хочу добиться, это то, что
dynamic_component_1 и dynamic_component_2 имеют общее хранилище vuex
Мое текущее решение существует из следующего и кажется очень хакерским. Я регистрирую конструктор Vue и Vuex Store в объекте глобального окна, чтобы повторно использовать их в разных пакетах.
const vuex_store = new Vuex.Store({
strict: true
});
window['vue'] = Vue
window['vuex_store'] = vuex_store
если бы кто-нибудь мог указать мне в правильном направлении, я был бы очень признателен.